PRiority_queue
優(yōu)先級(jí)隊(duì)列適配器自適應(yīng)容器(容器適配器):不能用list只能用vector deque最大值優(yōu)先級(jí)隊(duì)列(less),最小值優(yōu)先級(jí)隊(duì)列(greater)默認(rèn)從大到小排序相關(guān)操作
priority_queue<int,deque<int>,less<int>> pq; //最大值優(yōu)先級(jí)隊(duì)列可以不寫less,應(yīng)為默認(rèn)為它priority_queue<int,vector<int>,greater<int>> pq; //最小值優(yōu)先級(jí)隊(duì)列,需要包含functional頭文件應(yīng)為less和greater在該文件中pq.empty();pq.size();pq.push(item);pq.pop();pq.top(); //不能用frontpq.back();學(xué)習(xí)代碼
#include <iostream>#include <queue>#include <functional> //使用greater要包含這個(gè)using namespace std;int main(){ priority_queue<int, vector<int>,less<int>> pq; //最大值優(yōu)先級(jí)隊(duì)列 priority_queue<int, deque<int>, greater<int>> pq2;//最小值優(yōu)先級(jí)隊(duì)列 pq.push(10); pq.push(5); pq.push(20); pq.push(15); cout << "優(yōu)先級(jí)隊(duì)列里有" << pq.size() << "個(gè)數(shù)據(jù)" << endl; cout << pq.top() << endl; while (!pq.empty()) { cout << "從優(yōu)先級(jí)隊(duì)列里刪除" << pq.top() << endl; pq.pop(); } cout << "下面是最小值優(yōu)先級(jí)隊(duì)列" << endl; pq2.push(10); pq2.push(5); pq2.push(-1); pq2.push(20); cout << pq2.top() << endl; while (!pq2.empty()) { cout << "刪除" << pq2.top() << endl; pq2.pop(); } getchar(); return 0;}新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注