關於C 佇列操作(並附上一道Boring題目)

2021-07-08 20:12:41 字數 1574 閱讀 7259

關於c語言佇列操作 參考

下面為c++佇列的例題及講解:

題目描述

經過補考,天天感到無聊,因為他現在並不需要複習數位電路課程。所以他決定去計算佇列中成員的個數。多麼無聊的少年啊!(我們的ta很有想象力)

這裡會有三種佇列的操作:

in x:把x(x<=10000)放到佇列的末位。

out:輸出佇列中的第乙個元素並讓其出隊。如果佇列是空的,則輸出 -1。

count:返回此時佇列的長度。

輸入格式

第乙個數字 t(t<=20)意味著測試的次數。(也就是會有幾次測試)

每次測試包含乙個數字n(n<=1000) ,意味著接下來會有n次操作。下面的n行為對佇列的操作(也就是in x 、out 或count操作)

輸出格式

對於每乙個out和count操作,輸出其對應的答案。

樣例輸入

2 10

count

count

in 9035

out

out

in 9809

in 4983

out

count

out

10 in 1589

count

count

count

count

in 7173

count

in 4567

in 120

out

樣例輸出

0 0

9035

-1 9809

1 4983

1 1

1 1

2 1589

講解:

其實c或者c++中都有庫裡面自帶的佇列操作函式,自己看一下第一行的**。基本操作就3種 入隊,出隊,還有判斷是否為空。這道題中涉及到乙個count ,也就是你需要在每組測試時申請乙個count值,然後每次進行入隊時(in操作)count+1,出隊時(out操作)count-1。然後對於c++的**看一下我寫的注釋 應該可以懂。那個boring(曾)是運用庫里函式寫的,我的是自己寫的入隊和出隊操作。(看我的可以理解一下佇列操作的原理)

**:

#include

#include

using

namespace

std;

class boring//新建類boring(名字是我隨便起的)這裡是我自己寫的佇列操作 在c++函式庫裡是有相同函式的 但記得加上 #include

;//以下為函式實現,以上為函式宣告

boring::boring()//佇列初始化(新申請的佇列count=0,自己理解以下為什麼隊尾元素位置為-1)

int boring::getboring()

int boring::retrieve()

else

}int main()

else

if(s == "out")//當輸入out的時候

else

if(s == "count")//當輸入count的時候

一道關於迷宮的佇列問題

include include define max n 10 define max m 10 using namespace std const int inf 100000000 使用typedef會更加方便一點 typedef pairp 輸入 char maze max n max m 1 ...

關於C 的一道題

閱讀下面程式,然後請寫出輸出結果 cpp view plaincopy include using namespace std int main void 輸出結果如下圖 分析 為什麼會這樣的結果呢?首先我們先分析一下程式,首先我們先看看第一組a和b,那麼a和b是什麼呢?根據我們所學,我們知道a和b...

一道C 關於「棧」的問題

void test find 問題是 上述 的執行結果是,兩次顯示 ntempa的結果為123 通過實現test find函式中的 讓第二次的ntempa結果為456 知識點一 棧 乙個程序中的棧空間大小在windows上預設為1m,當然可以通過visualstudio配置 棧的應用範圍是相對於執行...