例题:
要排序一个物体的长度和宽度。
struct q
{
int l,w;
};
bool cmp1(q b,q c)
{
if(b.l==c.l)
return b.w>c.w;
else return b.l>c.l;
}//优先长度比较,递减
bool cmp2(q b,q c)
{
if(b.w==c.w)
return b.l>c.l;
else return b.w>c.w;
}//优先宽度比较,递减
int main()
{ int n ;
cin>>n;
q a[5005];//定义结构体
for(int i=0;i<n;i++)
cin>>a[i].l>>a[i].w;
sort(a,a+n,cmp2);
sort(a,a+n,cmp1);
for(int i=0;i<n;i++)
cout<<a[i].l<<" "<<a[i].w<<endl;
return 0;
}