priority queue 的簡單使用方法

2021-06-23 01:51:53 字數 711 閱讀 9142

優先佇列(priority queue)

普通的佇列是一種先進先出的資料結構,元素在佇列尾追加,而從佇列頭刪除。

在優先佇列中,元素被賦予優先順序(優先順序可自己定義)。

當訪問元素時,具有最高優先順序的元素最先刪除。

優先佇列具有最高進先出 (largest-in,first-out)的行為特徵。

在使用的時候 一定要有  的標頭檔案。。。據學長介紹,stl裡的東西 會用就行, 不要太深入理解。

今天剛學stl,小總結一下 優先佇列的東西。。

#include #include #include #include #include #include using namespace std;

/ (x);///將x接到佇列的末端。

/ ();///訪問隊首元素

/ ();///刪除隊首元素

/訪問隊首元素 最早被壓入佇列的元素。

/訪問隊尾元素 最後被壓入佇列的元素。

/訪問佇列中的元素個數

/ ();///判斷是否為空 當佇列空時,返回true。

struct cmp

};struct node

}p;int main()

while (!q.empty ())

printf ("\n");

}return 0;

}

參考部落格:

STL之priority queue使用簡介

優先佇列容器也是一種從一端入隊,另一端出對的佇列。不同於一般佇列的是,佇列中最大的元素總是位於隊首位置,因此,元素的出對並非按照先進先出的要求,將最先入隊的元素出對,而是將當前佇列中的最大元素出對。c stl 優先佇列的泛化,底層預設採用 vector 向量容器,使得佇列容器的元素可做陣列操作,從而...

C STL的priority queue用法總結

翻了很多部落格的總結 1 標頭檔案 include 2 定義 cpp view plain copy priority queue int p 3 優先輸出大資料 priority queue type為資料型別,container為儲存資料的容器,functional為元素比較方式。如果不寫後兩個...

priority queue的常見用法

其底層是用堆來進行實現的 在優先佇列中,隊首元素一定是當前佇列中優先順序最高的那乙個 當然,可以在任何時候往優先佇列裡面加入push元素 而優先佇列底層的資料結構堆 heap 會隨時調整結構 使得每次的隊首元素都是優先順序最大的 1 定義 priority queuename 2 容器內元素的訪問 ...