2 棧的基本操作

2021-06-20 09:52:58 字數 1204 閱讀 2080

總時間限制: 

1000ms 

記憶體限制: 

1000kb

描述 棧是一種重要的資料結構,它具有push k和pop操作。push k是將數字k加入到棧中,pop則是從棧中取乙個數出來。

棧是後進先出的:把棧也看成橫向的乙個通道,則push k是將k放到棧的最右邊,而pop也是從棧的最右邊取出乙個數。

假設棧當前從左至右含有1和2兩個數,則執行push 5和pop操作示例圖如下:

push 5          pop

棧   1 2  ------->  1 2 5 ------>  1 2

現在,假設棧是空的。給定一系列push k和pop操作之後,輸出棧中儲存的數字。若棧已經空了,仍然接收到pop操作,

則輸出error。

輸入第一行為m,表示有m組測試輸入,m<100。

每組第一行為n,表示下列有n行push k或pop操作。(n<150)

接下來n行,每行是push k或者pop,其中k是乙個整數。

(輸入保證同時在棧中的數不會超過100個)

輸出對每組測試資料輸出一行。該行內容在正常情況下,是棧中從左到右儲存的數字,數字直接以乙個空格分隔,如果棧空,則不作輸出;但若操作過程中出現棧已空仍然收到pop,則輸出error。

樣例輸入

2

4push 1

push 3

poppush 5

1pop

樣例輸出

1 5

error

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

intmain

()else

}else

top++;}}

if(ok==

false

)for

(int j=

0;jprintf

(j==0?

"%d"

:" %d"

,stack[j]);

if(top!=0)

printf("

\n");}

return

0;

棧 的基本操作。

include include typedef struct node node,pnode typedef struct stack stack,pstack void initialize pstack mystack 棧的初始化。int push stack pstack mystack,in...

棧的基本操作

描述 棧是一種重要的資料結構,它具有push k和pop操作。push k是將數字k加入到棧中,pop則是從棧中取乙個數出來。棧是後進先出的 把棧也看成橫向的乙個通道,則push k是將k放到棧的最右邊,而pop也是從棧的最右邊取出乙個數。假設棧當前從左至右含有1和2兩個數,則執行push 5和po...

棧的基本操作

下面先實現站的基本功能,最後通過乙個test來測試下方法是否實現 建個.c檔案 typedef struct seqstack 初始化 seqstack seqstackinit return null 判斷棧是否為空 int seqstackisempty seqstack s void seqs...