STL容器自定义排序
时间: 2024-05-16 16:08:51 浏览: 121
STL容器可以通过自定义排序函数来实现自定义排序。下面是两个例子:
1. 对vector容器进行自定义排序:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
bool compare(int a, int b) {
return a > b; // 降序排序
}
int main() {
std::vector<int> vec = {5, 2, 8, 1, 9};
std::sort(vec.begin(), vec.end(), compare);
for (int num : vec) {
std::cout << num << " ";
}
return 0;
}
```
输出:9 8 5 2 1
2. 对有序set容器进行自定义排序:
```cpp
#include <iostream>
#include <set>
struct Compare {
bool operator()(int a, int b) const {
return a > b; // 降序排序
}
};
int main() {
std::set<int, Compare> s = {5, 2, 8, 1, 9};
for (int num : s) {
std::cout << num << " ";
}
return 0;
}
```
输出:9 8 5 2 1
阅读全文