#include<iostream>
#include <set>
#include <vector>
#include <algorithm>
using namespace std;
class MyCompare
{
public:
bool operator()(int num1,int num2)
{
return num1>num2;
}
};
void test01()
{
vector<int> v;
v.push_back(10);
v.push_back(20);
v.push_back(30);
v.push_back(40);
v.push_back(50);
v.push_back(60);
//默认从小到大
sort(v.begin(),v.end());
for (vector<int>::iterator it=v.begin();it!=v.end();it++)
{
cout<<*it<<endl;
}
cout<<endl;
cout<<"-----------------------------"<<endl;
//使用函数对象改变算法策略,排序从大到小
sort(v.begin(),v.end(),MyCompare());//最后一个参数是谓词函数
for (vector<int>::iterator it=v.begin();it!=v.end();it++)
{
cout<<*it<<endl;
}
cout<<endl;
}
using namespace std;
int main(void)
{
test01();
system("pause");
return 0;
}
/*
* 10
20
30
40
50
60
-----------------------------
60
50
40
30
20
10
请按任意键继续. . .
*/
002二元谓词改变vector容器的sort默认排列顺序
猜你喜欢
转载自blog.csdn.net/baixiaolong1993/article/details/89640987
今日推荐
周排行