AcWing 模擬佇列 佇列 模擬

2021-09-26 08:52:01 字數 1312 閱讀 3008

時/空限制: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,

所有操作保證合法。

10

push 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前面排的隊,所以對於上訴結構問題,佇列非常...