天天看點

C++的sort函數逆序排序

(1)對一個int型數組進行排序

int array[5] = {3,100,45,2,0};
    sort(a,a+5);
           

(2)對利用cmp函數,對int型數組進行逆序排序

int cmp1(int a,int b)
{
    return b>a;
}

int array[5] = {3,100,45,2,0};
sort(a,a+5,cmp1);
           

(3)對vector<string> vec;進行排序

sort(vec.begin(),vec.end());
           

    如果使用sort(vec,vec+vec.size());是錯誤的

(4)利用cmp函數對vector<string> vec;進行逆序排序

template <typename T>
struct cmp
{
    bool operator()(const T &x, const T &y)
    {
        return y>x;
    }
};

/* 對字元串進行逆序排序 */
sort(vec.begin(),vec.end(),cmp<string>());