当需要使用greater<int>时,在头文件里需要添加#include<functional>
#include<iostream>
#include<vector>
#include<set>
#include <functional>
using namespace std;
int main()
{
vector<int> data{1,4,3,8};
//vector<int> d1(data.begin()+1, data.begin() + 3);
multiset<int, greater<int> > test;
for (int i = 0; i < data.size(); i++)
{
test.insert(data[i]);
}
return 0;
}
得到test的结果为 8,4,3,1。
所以,添加greater<int> 会使得排序为降序排序。即更大的在前面。
一般不加第二个参数,会默认为是less<int>,即按升序排序。