功能是先拍a,若a相等则在其基础上对b进行排序。
用的algorithm中sort进行的排序。
#include<iostream>
#include<cstdlib>
#include<algorithm>
using namespace std;
struct test{
int a;
int b;
test():a(0),b(0){}
test(int x,int y=0):a(x),b(y){}
set(int x,int y){a=x;b=y;}
};
bool cmp(const test &x,const test &y)
{
if(x.a != y.a)
return x.a<y.a;
else
return x.b<y.b;
}
int main()
{
test x[10];
for(int i=0;i<10;i++)
{
int m = rand()%100;
int n = rand()%100;
x[i].set(m,n);
}
cout<<"before sorted"<<endl;
for(int i=0;i<10;i++)
{
cout<<x[i].a<<" "<<x[i].b<<endl;
}
sort(x,x+10,cmp);
cout<<"after sorted"<<endl;
for(int i=0;i<10;i++)
{
cout<<x[i].a<<" "<<x[i].b<<endl;
}
return 0;
}