關於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配置 棧的應用範圍是相對於執行...