總時間限制:
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 5error
#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...