1 bool cmp(const str &x,const str &y)
2 {
3     if(x.a1==y.a1)
4         return x.a2<y.a2;
5     return x.a1<y.a1;
6 }

sort 真心不会用啊   这个cmp搞得我各种头痛....   上面代码  是两个关键字的sort  a1为第一关键字 a2为第二关键字 都是升序...

以后 写多关键字 就这样写了.. ..

 升序 就用<     降序就>   还是比较容易记住的....   

1 bool cmp(const str &x,const str &y)
2 {
3     if(x.a1==y.a1 && x.a2==y.a2)
4         return x.a3<y.a3;
5     if(x.a1==y.a1)
6         return x.a2<y.a2;
7     return x.a1<y.a1;
8 }//3关键字...  再多的 同理 - -

然后再来个 一行代码的...

return x.a1==y.a1?(x.a2==y.a2?x.a3<y.a3:x.a2<y.a2):x.a1<y.a1;

这个威武霸气....