做的這題是ccf認證的題目,碰撞的小球,用到了結構體排序,但忘記了,現在來記錄一下。
struct stu { int a; bool b; int c; }; bool cmp(stu a,stu b){ return a.a<b.a; } bool cmp2(stu a,stu b){ return a.c<b.c; }
bool cmp要放到后面,否則會報錯,剛才我就報錯了,想了3分鍾才改了錯誤。畢竟比較函數用到了結構體,機構體都沒有聲明怎么能在函數里用它呢,對吧,這就是錯因;
然后調用的代碼如下
//n是要比較的元素的個數,我這里有n個,就是給這個結構體全部排序 sort(st,st+n,cmp); sort(st,st+n,cmp2);
排序規則:小於return小於符號就是從小到大,大於就是從大到小。