greater<int>表示内置类型从大到小排序,less<int>表示内置类型从小到大排序
在STL中,greater<int> 和 less<int>作为容器的一个比较类
#include<iostream>
#include<set>
using namespace std;
set<int, greater<int>> s;
int main() {
s.insert(323);
s.insert(1);
s.insert(43);
s.insert(21);
for(auto it = s.begin() ; it != s.end() ;it++)
cout << *it << endl;
return 0;
}
//又如,priority_queue<int, vector<int>, greater<int>> q;
在sort函数中,greater<int>() 和 less<int>()可帮助排序
#include<iostream>
#include<set>
#include<vector>
#include<algorithm>
using namespace std;
vector<int> v;
int main() {
v.push_back(12);
v.push_back(1);
v.push_back(21);
v.push_back(666);
sort(v.begin(), v.end(), less<int>()); // 升序,从小到大
// sort(v.begin(), v.end(), greater<int>()); // 降序,从大到小
for(auto it : v )
cout << it << endl;
return 0;
}
#include<iostream>
#include<algorithm>
using namespace std;
int main() {
int a[10] = {12,32,4};
sort(a, a + 3, less<int>());
// sort(a, a + 3, greater<int>());
for(int i = 0;i<3;i++) cout << a[i] << endl;
return 0;
}