額。。。。。。。
#include//標頭檔案
priority_queue<>que;//格式
#include#includeusing namespace std;
int main()
; for(int i=0;i<10;i++)
while(!que.empty())
return 0;
}
輸出樣例
10 9 6 5 4 3 2 2 1 1
優先佇列 priority_queueque;
type 可以為int,float,結構體等等
container 預設為vector
functional 為比較的原則(類似sort(a,a+n,cmp)中cmp的作用)
functional有給定的,像greater,less.也可自己手寫
這個為給定的
#include#includeusing namespace std;
//struct node ;
for(int i=0;i<10;i++)
while(!que.empty())
return 0;
}
這個是自己手寫的
#include#includeusing namespace std;
struct node ;
for(int i=0;i<10;i++)
while(!que.empty())
return 0;
}
輸出結果都為 1 1 2 2 3 4 5 6 9 10
所以 greater可以是佇列遞增而less則是遞減
下面是結構體優先佇列 (敲黑板)
與int的沒有太大的區別
#include#includeusing namespace std;
struct node ;
int b[10]=;
for(int i=0;i<10;i++)
while(!que.empty())
return 0;
}
與結構體排序類似 結構體優先佇列 也可以自己控制排序原則
這時候用 bool operator>(){
在這裡控制;
關於單調佇列的個人理解
一 何為單調佇列?1 首先搞懂,什麼是佇列 佇列是一種資料結構,兩個埠,乙個埠進元素,乙個埠出元素,那麼,根據這種操作的定義,不難發現 佇列具有 先進先出 的性質 2 單調佇列 單調佇列,顧名思義,具有的單調性的佇列,即佇列中的元素按照某種特徵有一定的順序。比如單調遞增的佇列,單調遞減的佇列。3 舉...
優先佇列(3道優先佇列問題)
優先佇列是一種十分強大的資料結構,它保持了一種動態的有序性,對於不斷改變有入隊的操作,而又需要某種最大或最小的操作的問題是再合適不過了,通常優先佇列的實現是由最小堆或者最大堆完成的,並通過堆排序保持佇列的有序性,模擬佇列的結構,在實際比賽中要寫乙個堆排序還是要一定的時間的,但是stl中queue容器...
佇列以及優先佇列
1.佇列 佇列的定義 標頭檔案 include 佇列是一種先進先出的資料結構 佇列的宣告 queueq 宣告字元型別 queueq 宣告結構體型別 以及可以宣告一些自定義的型別 佇列的操作 入佇列 s.push x 出佇列 s.pop 返回佇列的資料數量 s.size 判斷佇列是否為空 s.empt...