用c++实现pair排序
时间: 2024-10-06 11:03:13 浏览: 54
C++学习之Pair
在C++中,`std::pair`是一个内置的数据结构,它包含了两个相关的数据项。如果你想对包含`std::pair`元素的容器进行排序,你可以直接利用标准库提供的排序算法,如`std::sort()`,只需要提供一个合适的比较函数。
例如,假设你有一个存储了`(int, double)`对的向量`std::vector<std::pair<int, double>> pairs`,你想按照第二个值(double)降序排列,可以这样做:
```cpp
#include <algorithm> // 包含sort函数
#include <utility> // 包含pair
bool comparePairs(const std::pair<int, double>& a, const std::pair<int, double>& b) {
return a.second > b.second; // 按照double部分降序
}
void sortPairContainer(std::vector<std::pair<int, double>>& pairs) {
std::sort(pairs.begin(), pairs.end(), comparePairs);
}
```
在这个例子中,`comparePairs`函数用于定义排序规则,然后将其传递给`sort()`函数。现在`pairs`向量中的元素就是按第二个值降序排列的了。
阅读全文