注册 登录
编程论坛 VC++/MFC

STL中sort排序问题

也许等直到 发布于 2016-03-13 18:23, 2861 次点击
求大神指点一下,我记得有这种方法使用sort()可以按自己的需求进行排序的呀?还有这个排序是怎么实现的,为什么返回真假值就可以实现排序呢?
#include <iostream>
#include <vector>
#include<queue>
#include<stack>
#include<list>
#include<algorithm>

using namespace std;
bool cmp(const int a, const int b)
{
    return a > b;
}
int main()
{   
    stack<int>s;
    vector<int>v;
    v.push_back(2);
    v.push_back(3);
    v.push_back(1);
    sort(v.begin(), v.end());
    for (int i = 0; i < 3; i++)
    {
        cout << v[i] << " ";
    }
    cout << endl;
    return 0;
}
2 回复
#2
yangfrancis2016-03-13 19:28
那个cmp函数名可作为sort函数的第三个参数,矢量中的元素会两个两个地使用cmp函数进行比较,返回真,第一个参数排在前,返回假,第二个参数排在前
#3
yuccn2016-03-14 11:57
bool 的 cmp?比较有三态,大 ,等,小。bool 只有真假,这样写代码质量不高
1