棧的基本操作

2021-06-26 19:24:25 字數 1319 閱讀 4735

描述

棧是一種重要的資料結構,它具有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

補充案例
輸入
2
3
pop
push 1
push 2
2
push 1
pop
輸出
error
無輸出

注意點:(1)當棧空以後仍然進行pop操作,不論後續是否還進行push操作,最後仍然輸出error;

(2)到最後恰好變成空棧時不做任何輸出

#include#include#include#define m 1000

typedef struct

stack;

void push(stack *p,int i)

}int pop(stack *p)

else

return (p->num[(p->top)--]);

}int main()

else

} if(t==1)

printf("error\n");

else

}} return 0;

}

棧 的基本操作。

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

棧的基本操作

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

棧的基本操作

當你看到這個時,你會想起你敲過多少遍 include include define elemtype int define status int define init size 10 初始化長度 define incre size 10 增量 define ok 1 define error 0 ...