優先佇列(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 容器內元素的訪問 ...