Android我愛死你了 2021-09-18 05:22:38 阅读数:455
(3)判空(empty)
判斷隊列為空的條件為front==rear.
(4) 入隊(push)
由於隊尾指針rear指向隊尾元素,因此把元素入隊時,需要先把rear加1,然後再存到rear指向的比特置。
(5)出隊(pop)
可以直接把隊首指針加1來實現出隊的效果。
(6)取隊首元素(get_front)
由於隊首指針front指向的是隊首元素的前一個元素,因此front+1才是隊首元素的比特置。
(7)取隊尾元素,隊尾指針指向的是隊尾元素,因此可以直接訪問rear的比特置。
當然這裏我更習慣於另一種寫法
給出 模板
實現一個隊列,隊列初始為空,支持四種操作:
(1) “push x” – 向隊尾插入一個數x;
(2) “pop” – 從隊頭彈出一個數;
(3) “empty” – 判斷隊列是否為空;
(4) “query” – 查詢隊頭元素。
現在要對隊列進行M個操作,其中的每個操作3和操作4都要輸出相應的結果。
輸入格式
第一行包含整數M,錶示操作次數。
接下來M行,每行包含一個操作命令,操作命令為”push x”,”pop”,”empty”,”query”中的一種。
輸出格式
對於每個”empty”和”query”操作都要輸出一個查詢結果,每個結果占一行。
其中,”empty”操作的查詢結果為“YES”或“NO”,”query”操作的查詢結果為一個整數,錶示隊頭元素的值。
數據範圍
1≤M≤100000,
1≤x≤109,
所有操作保證合法。
輸入樣例:
10
push 6
empty
query
pop
empty
push 3
push 4
pop
query
push 6
輸出樣例:
NO
6
YES
4
版权声明:本文为[Android我愛死你了]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210918052237772P.html