stl 中佇列的使用(queue)
基本操作:
push(x) 將x壓入佇列的末端
pop() 彈出佇列的第乙個元素(隊頂元素),注意此函式並不返回任何值
front() 返回第乙個元素(隊頂元素)
back() 返回最後被壓入的元素(隊尾元素)
empty() 當隊列為空時,返回true
size() 返回佇列的長度
使用方法:
標頭檔案:#include
宣告方法:
1、普通宣告:
queueq;
2、結構體
struct node
;queueq;
使用示例:
#include #include using namespace std;
int main()
};priority_queue, cmp>q; //定義方法
//其中,第二個引數為容器型別。第三個引數為比較函式。
3、結構體宣告方式:
struct node
};
priority_queueq; //定義方法
//在該結構中,y為值, x為優先順序。
//通過自定義operator《操作符來比較元素中的優先順序。
//在過載」」,可能會發生編譯錯誤、
#include #include using namespace std;
int main()
cout <
}
如果優先佇列的元素型別是結構體,可以通過在結構體中過載「
#include #include #include using namespace std;
struct info
;
stacks;
雙向佇列
STL 雙向佇列
deque雙端佇列容器與vector很類似,採用線性表順序儲存結構。但與vector區別,deque採用分塊的線性儲存結構來儲存資料,每塊的大小一般為512b,將之稱為deque塊,所有的deque塊使用乙個map塊進行管理,每個map資料項記錄各個deque塊的首位址,這樣的話,deque塊在頭部...
STL 雙向佇列
time limit 1000ms memory limit 65536k 想想雙向鍊錶 雙向佇列的定義差不多,也就是說乙個佇列的隊尾同時也是隊首 兩頭都可以做出隊,入隊的操作。現在給你一系列的操作,請輸出最後佇列的狀態 命令格式 lin x x表示乙個整數,命令代表左邊進隊操作 rin x 表示右...
STL 棧,佇列,優先佇列
stl 棧 include includeusing namespace std struct node int main stackroot struct node x,y x.value 3 y.value 4 root.push x root.push y while root.empty r...