1.set容器默认从小到大,如何改变默认的排序方式
2.利用仿函数可以改变排序规则
#include<iostream>
#include<set>
using namespace std;
class mycompare
{
public:
bool operator()(int a, int b) const
{
return a > b;
}
};
void test1()
{
//第一种方式
set<int> s;
s.insert(1);
s.insert(9);
s.insert(4);
s.insert(7);
s.insert(2);
for (set<int>::iterator it = s.begin(); it != s.end(); it++)
{
cout << *it << " ";
}
cout << endl;//1 2 4 7 9
//利用仿函数指定排序从大到小
set<int, mycompare> s1;
s1.insert(1);
s1.insert(9);
s1.insert(4);
s1.insert(7);
s1.insert(2);
for(set<int, mycompare>::iterator i= s1.begin(); i!= s1.end(); i++)
{
cout << *i << " ";
}
cout << endl; // 9 7 4 2 1
}
int main()
{
test1();
system("pause");
return 0;
}