C++中的Set数据结构是有序的,并且默认使用升序排序。如果你想要自定义排序规则,可以通过传入自定义的比较函数来实现。
#include <iostream>
#include <set>
// 自定义比较函数
struct CustomCompare {
bool operator() (int a, int b) const {
// 根据自定义的比较规则进行排序
return a > b;
}
};
int main() {
// 使用自定义的比较函数
std::set<int, CustomCompare> mySet = {1, 5, 3, 2, 4};
// 遍历输出
for (int num : mySet) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
在上面的例子中,我们定义了一个自定义比较函数CustomCompare
,并将其作为第二个模板参数传入std::set<int, CustomCompare>
中。这样就可以实现按照自定义的排序规则对Set进行排序。
如果不提供自定义比较函数,则Set会默认使用元素的operator<
进行排序。