如何打印输出priority_queue<pair<int, char>> pq的内容
时间: 2024-10-23 07:18:52 浏览: 28
c++优先队列(priority_queue)用法详解
5星 · 资源好评率100%
要在 C++ 中打印输出 `priority_queue<pair<int, char>>` 的内容,你可以先创建一个实例,然后使用迭代器来逐个取出元素,并打印它们的 `first` 和 `second` 分量。这里是步骤:
```cpp
#include <iostream>
#include <queue>
#include <pair>
int main() {
std::priority_queue<std::pair<int, char>> pq; // 创建一个包含整数和字符对的优先队列
// 添加一些元素到队列中
pq.push(std::make_pair(5, 'A')); // (5, 'A')
pq.push(std::make_pair(1, 'B')); // (1, 'B')
pq.push(std::make_pair(3, 'C')); // (3, 'C')
// 打印队列内容
for (const auto& pair : pq) {
std::cout << "Priority: " << pair.first << ", Value: " << pair.second << '\n';
}
return 0;
}
```
当你运行这段代码时,它会按优先级顺序输出 `(1, 'B')`, `(3, 'C')`, 然后是 `(5, 'A')`。这里的 `auto& pair` 是 C++11 引入的通用迭代器,可以自动适应 `pair<int, char>` 类型。
阅读全文