📅  最后修改于: 2023-12-03 15:13:55.050000             🧑  作者: Mango
STL(Standard Template Library)是C++中的一个重要特性,是一组常用的数据结构和算法的集合,可以大大简化程序员的编程工作。STL中的配对队列(pair queue)是一种特殊的队列(queue),其中每个元素都由两个值组成。
在C++中,STL中的配对队列可以使用标准库中的priority_queue
实现。下面的代码示例演示了如何创建和使用配对队列:
#include <iostream>
#include <queue>
using namespace std;
int main() {
// 创建一个配对队列,元素为一对整数
priority_queue<pair<int, int>> pq;
// 添加元素
pq.push(make_pair(3, 5));
pq.push(make_pair(1, 6));
pq.push(make_pair(2, 4));
// 遍历队列并输出每个元素的值
while (!pq.empty()) {
pair<int, int> p = pq.top();
pq.pop();
cout << p.first << " " << p.second << endl;
}
return 0;
}
上述代码的运行结果如下所示:
3 5
2 4
1 6
上述代码中,我们声明了一个名为pq
的priority_queue
对象,其中每个元素都是由两个整数组成的配对。使用push
操作可以向队列中添加元素,而使用top
和pop
操作则可以分别获取和弹出队列中的顶部(即最大值)元素。在上述代码中,我们添加了三个元素((3,5)
、(1,6)
和(2,4)
)到队列中,并按照其第一个元素的大小从大到小的顺序遍历队列并输出每个元素的值。
通过上述示例,我们可以看到STL中的配对队列可以大大简化程序员的编程工作。如果你需要在自己的C++代码中使用配对队列,可以使用priority_queue
实现,它包含了一些常用的操作,如向队列中添加元素、获取队列中的顶部元素等。