c++ priority_queue可以存pair嘛
时间: 2023-10-29 18:55:52 浏览: 93
c++优先队列(priority_queue)用法详解
5星 · 资源好评率100%
是的,C++中的`priority_queue`可以存储`pair`。`pair`是一个模板类,它可以包含两个不同的数据类型的值。你可以使用`pair`来表示键值对,然后将其存储在`priority_queue`中。
以下是一个示例代码,演示了如何将`pair`存储在`priority_queue`中:
```cpp
#include <iostream>
#include <queue>
using namespace std;
int main() {
priority_queue<pair<int, int>> pq;
// 添加几个pair
pq.push(make_pair(1, 2));
pq.push(make_pair(3, 4));
pq.push(make_pair(5, 6));
// 访问并输出存储在priority_queue中的pair
while (!pq.empty()) {
pair<int, int> topPair = pq.top();
cout << "First: " << topPair.first << ", Second: " << topPair.second << endl;
pq.pop();
}
return 0;
}
```
这段代码创建了一个存储`pair<int, int>`类型的`priority_queue`,然后将几个pair添加到队列中。然后,通过循环访问并输出存储在`priority_queue`中的pair,直到队列为空。
请注意,`priority_queue`默认按照其第一个元素的值进行排序,这意味着较小的第一个元素会具有更高的优先级。
阅读全文