1. 程式人生 > >priority_queue使用方法詳解

priority_queue使用方法詳解

href return display 頭文件 分享圖片 ack algo ios inf

1.介紹

優先隊列是一種容器,它可以使得其第一個元素始終是它包含的最大元素,具體實現原理是堆排序。

它支持以下操作:

  • empty()

  • size()

  • top()

  • push()

  • pop()

在使用priority_queue之前,請包含頭文件#include <queue>

2.具體用法

#include<iostream>
#include<vector>
#include<algorithm>
#include <queue>
#include <functional>
using namespace std;

int main(){
	//大頂堆  
priority_queue<int, vector<int>, less<int>> q; //小頂堆 priority_queue<int, vector<int>, greater<int>> p; for (int i = 0; i < 10; i++) { q.push(i); p.push(i); } cout << "less<int>" << endl; while (!q.empty()) { cout << q.top() << "
"; q.pop(); } cout << endl; cout << "greater<int>" << endl; while (!p.empty()) { cout << p.top() << " "; p.pop(); } return 0; }
技術分享圖片

priority_queue使用方法詳解