小明排隊 (queue的用法)

2021-10-24 10:55:33 字數 1443 閱讀 3217

題目描述

一天小明去排隊買電影票,然後她發現隊伍已經有了n個人,分別為a1,a2…an。小明不想排隊,於是她開始觀察這條隊伍m秒, 每秒僅有1個人來排隊或者排在最後的那個人不耐煩走了,如果在這一秒內兩者都沒有發生那麼小明就想知道隊伍還有沒有人。

輸入

第一行有兩個整數n(n≤1000),m(m≤10000)。第二行有n個整數ai(ai≤100000)表示排在第i位是人是ai。接下來m行,每行有乙個整數p(p≤3),當p=1時則當前行還存在另乙個整數x(x≤100000)表示x來排隊;當p=2時則表示排在最後的那個人不耐煩走了;當p=3時小明想知道隊伍還有沒有人。

輸出

若干行,每一行表示隊伍還有沒有人,沒有人輸出yes,有輸出排在最後的人是誰。

樣例輸入

3 81 2 3

1 4323

2223

樣例輸出43

yes

這道題使用stl中的佇列(queue)來解決,佇列就像你排隊似的。第乙個人做完了,離開隊伍(出隊),第二個人就繼續變成第乙個人,如果外面的人想跟著做,就要排在隊伍後面。(入隊)first in first out(先進先出)也是佇列的別名,簡稱fifo

queue的常用成員函式:

1. queue<

int>a;

//定義乙個佇列成員為int型別的a

2. a.

top();

//返回隊首元素(不出隊)

3. a.

push

(x);

//將x入隊

4. a.

pop();

//隊首元素出隊

5. a.

empty()

;//如果a為空則返回true,否則返回false

6. a.

size()

;//返回a成員的個數

#include

#include

#include

using

namespace std;

stack<

int>array;

inline

intread()

while

(ch>=

'0'&&ch<=

'9')

return f*x;

}main()

for(

int i=

0;i(p==2)

if(p==3)

}return0;

}

感謝大家的**,希望大家能多多關注我,謝謝!!!

stack用法,queue用法,

stack stack 模板類的定義在標頭檔案中。stack 模板類需要兩個模板引數,乙個是元素型別,乙個容器型別,但只有元素型別是必要 的,在不指定容器型別時,預設的容器型別為deque。定義stack 物件的示例 如下 stack s1 stack s2 stack 的基本操作有 入棧,如例 s...

stack用法,queue用法,

stack stack 模板類的定義在標頭檔案中。stack 模板類需要兩個模板引數,乙個是元素型別,乙個容器型別,但只有元素型別是必要 的,在不指定容器型別時,預設的容器型別為deque。定義stack 物件的示例 如下 stack s1 stack s2 stack 的基本操作有 入棧,如例 s...

Queue佇列的用法

佇列是一種特殊的線性表,它只允許在表的前端進行刪除操作,而在表的後端進行插入操作。遵循的是先入先出的原則。陣列的使用方法 使用陣列模擬佇列 一般來說,front指向頭部,且指向頭部的前乙個位子 rear指向尾部 包含尾部的資料 使用陣列模擬佇列 編寫乙個arrayqueue class arrayq...