1. 程式人生 > >關於sort()函式編寫cmp函式

關於sort()函式編寫cmp函式


sort()函式中,一般是用於陣列中整形資料的排序,但是  遇見結構體中有多個整形資料,sort的功能就開始迷糊了,所以我們需要在結構體中定下需要比較哪組,

第一:sort(begin,begin+n)

第二:利用cmp進行倒序,升序;

bool compare(int a,int b)
{
      return a<b;   //升序排列,

如果改為return a>b,則為降序

}

sort(a,a+20,compare);

另一種表現方法

struct node
{
    int c;
    int d;
    bool operator < (node &b)
    {
        return d < b.d ;
    }
} sst[10111111];

sort(a,a+20)

稍微解釋一下:布林型的過載用operator   對“>”進行過載,(程式碼是進行的升序),return解釋一下吧,第一個c是代表結構體中需要比較的那個數,後面的是代表任意的一個,

不知道這樣講明白不明白,其實我也不太清楚。有疑問歡迎交流。Q:690217293