set容器会自动排序,默认从小到大,修改排序规则为从大到小。
#include <iostream>
#include <set>
using namespace std;
class MyCompare
{
public:
bool operator()(int v1, int v2)
{
return v1 > v2;
}
};
int main()
{
set<int> s;
s.insert(10);
s.insert(30);
s.insert(20);
s.insert(50);
//默认从小到大
for (set<int>::iterator it = s.begin(); it != s.end(); it++)
{
cout << *it << " ";
}
cout << endl;
//更改为从大到小
set<int, MyCompare> s1;
s1.insert(10);
s1.insert(30);
s1.insert(20);
s1.insert(50);
for (set<int, MyCompare>::iterator it = s1.begin(); it != s1.end(); it++)
{
cout << *it << " ";
}
cout << endl;
system("pause");
return 0;
}