時/空限制:1s / 64mb
實現乙個佇列,佇列初始為空,支援四種操作:
(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≤10^9,
所有操作保證合法。
10push 6
empty
query
popempty
push 3
push 4
popquery
push 6
no題意:模擬乙個佇列,共有四種操作。6yes
4
思路:直接模擬,寫的是陣列型的,不過操作和指標的類似。
accepted code:
/*
* @author: lzyws739307453
* @language: c++
*/#include using namespace std;
const int maxn = 100005;
int queue[maxn], front = 0, rear = -1;
void push(int x)
void pop()
bool empty()
int query()
int main()
else if (!strcmp(op, "pop"))
pop();
else if (!strcmp(op, "empty"))
printf(empty() ? "yes\n" : "no\n");
else printf("%d\n", query());
}return 0;
}
AcWing 829 模擬佇列(C 演算法)
1 push x 向隊尾插入乙個數x 2 pop 從隊頭彈出乙個數 3 empty 判斷佇列是否為空 4 query 查詢隊頭元素。現在要對佇列進行m個操作,其中的每個操作3和操作4都要輸出相應的結果。輸入格式 第一行包含整數m,表示操作次數。接下來m行,每行包含乙個操作命令,操作命令為 push ...
用棧模擬佇列和佇列模擬棧
棧 先進後出 filo 佇列 先進先出 fifo class myqueue 兩棧模擬佇列 def init self self.input self.output 進佇列 defpush self,x 出佇列 defpop self self.peek return self.output.pop...
c primer 佇列模擬
佇列是一種抽象的資料型別 adt 可以儲存有序的專案序列.新專案被新增到隊尾,並可以刪除隊首專案。佇列有點像堆疊,不過堆疊在同一端進行新增和刪除。這使得棧是一種先進後出 lifo 的結構,而佇列是先進先出的 fifo 從概念說說,佇列就好比是收款臺或者atm前面排的隊,所以對於上訴結構問題,佇列非常...