37 lines
621 B
C++
37 lines
621 B
C++
// 自定义排序
|
|
#include <iostream>
|
|
#include <set>
|
|
|
|
using namespace std;
|
|
|
|
// 自定义规则
|
|
template <typename T>
|
|
class MySort
|
|
{
|
|
public:
|
|
bool operator()(const T &a, const T &b)
|
|
{
|
|
return a > b; // 从小到大排序
|
|
}
|
|
};
|
|
|
|
int main()
|
|
{
|
|
// 使用 set 时,添加自定义排序规则
|
|
set<int, MySort<int> > s1;
|
|
s1.insert(20);
|
|
s1.insert(30);
|
|
s1.insert(1);
|
|
s1.insert(8);
|
|
|
|
set<int, MySort<int> >::iterator it = s1.begin(); // <int, MySort<int>> 可以省略
|
|
while (it != s1.end())
|
|
{
|
|
cout << *it << ' ';
|
|
++it;
|
|
}
|
|
cout << endl;
|
|
|
|
return 0;
|
|
}
|