您的位置:首页 > 其它

一个简单的排序,练练手

2015-06-19 01:27 260 查看
#include <stdlib.h>
#include <iostream>
#include <list>
#include <utility>
using namespace std;

typedef struct sortExInfo_
{
int HuaSeNum;
int remainNum;
}sortExInfo;

typedef pair<int, sortExInfo>  OutCardSortPair;
typedef list<OutCardSortPair>  OutCardList;

bool CardSort(OutCardSortPair& lth, OutCardSortPair& rth)
{
if(lth.second.HuaSeNum < rth.second.HuaSeNum)
{
return true;
}

if(lth.second.HuaSeNum > rth.second.HuaSeNum)
{
return false;
}

if(lth.second.remainNum > rth.second.remainNum)
{
return false;
}

return true;
}

int main(int argc, char** argv)
{
OutCardList CardList;
for(int i = 0; i < 20; i++)
{
sortExInfo sortInfo = {rand()%100, rand()%30} ;
OutCardSortPair CardPair(rand()%40, sortInfo);
CardList.push_back(CardPair);
}

for( OutCardList::iterator iter = CardList.begin(); iter!=CardList.end(); ++iter )
{
cout <<  iter->first << ","  << iter->second.HuaSeNum << "," << iter->second.remainNum << endl;
}

cout << "---------------------------" << endl;
CardList.sort(CardSort);

for( OutCardList::iterator iter = CardList.begin(); iter!=CardList.end(); ++iter )
{
cout <<  iter->first << ","  << iter->second.HuaSeNum << "," << iter->second.remainNum << endl;
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  typedef struct std using