greater <int> 与 less <int> 可以用来排序,前者降序,后者升序
1.在 sort()函数(—默认升序排列)中 greater<int> 可以帮助排降序,更加便捷。
代码如下:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> v;
v.push_back(12);
v.push_back(42);
v.push_back(23);
v.push_back(53);
//
sort(v.begin(),v.end(),greater<int>());
cout<<"greater<int>的排序结果:"<<" ";
for(int i=0;i<v.size();i++)
cout<<v[i]<<" ";
cout<<endl;
//
sort(v.begin(),v.end(),less<int>());
cout<<"less<int>的排序结果:"<<" ";
for(int i=0;i<v.size();i++)
cout<<v[i]<<" ";
cout<<endl;
}
运行结果如下:

2.set 容器(默认升序排列)可利用 greater<int> 实现降序,更加便捷。
#include <iostream>
#include <set>
using namespace std;
int main()
{
//
set<int,greater<int> > s;
s.insert(31);
s.insert(13);
s.insert(34);
s.insert(47);
//
set<int>::iterator it;
for(it=s.begin();it!=s.end();it++)
cout<<*it<<" ";
}

C++排序与容器技巧

1425

被折叠的 条评论
为什么被折叠?



