#include "stdafx.h"
#include "iostream"
#include <list>
//compiler: VC++2008
using namespace std;
typedef struct
{
int i;
char arr[16];
}stdlist;
bool operator<(const stdlist& a, const stdlist& b)
{
return a.i > b.i;
}
int _tmain(int argc, _TCHAR* argv[])
{#if 1
list<stdlist> mylist;
stdlist tmp = {0};
tmp.i=100;
strcpy(tmp.arr, "one");
mylist.push_back(tmp);
stdlist tmp2 = {0};
tmp2.i=80;
strcpy(tmp2.arr, "two");
mylist.push_back(tmp2);
stdlist tmp3 = {0};
tmp3.i=222;
strcpy(tmp3.arr, "one");
mylist.push_back(tmp3);
stdlist tmp4 = {0};
tmp4.i=100;
strcpy(tmp4.arr, "one");
mylist.push_back(tmp4);
mylist.sort();
list<stdlist>::iterator iter=mylist.begin();
for(;iter!=mylist.end();iter++)
{
cout<<iter->i<<" ";
}
getchar();
return 0;
}
output:222 100 100 80
#endif