请使用C++来实现优先队列
时间: 2024-05-12 15:15:20 浏览: 89
好的,以下是使用C++实现优先队列的示例代码:
```cpp
#include <iostream>
#include <queue>
using namespace std;
int main() {
// 定义一个优先队列,元素类型为 int,按照从小到大的顺序排序
priority_queue<int, vector<int>, greater<int>> pq;
// 插入元素
pq.push(3);
pq.push(1);
pq.push(4);
pq.push(1);
// 遍历队列并输出
while (!pq.empty()) {
cout << pq.top() << " ";
pq.pop();
}
return 0;
}
```
在上面的代码中,我们使用了STL中的`priority_queue`容器来实现优先队列。可以看到,我们通过指定元素类型为`int`,容器类型为`vector`,排序方式为`greater<int>`(从小到大排序),来创建了一个优先队列。然后,我们使用`push`函数向队列中插入元素,使用`top`函数获取队列中最小的元素并输出,使用`pop`函数删除队列中最小的元素。
阅读全文