qfedu-cpp-level/day10/stl_set_demo/d3.cpp

37 lines
621 B
C++
Raw Permalink Normal View History

2023-08-14 17:20:39 +08:00
// 自定义排序
#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;
}