描述
輸入乙個整數序列a1,a2,a3...,an。當ai不等於-1時將ai進棧;當ai=-1時,輸出棧頂元素並將其出棧。
輸入多組資料,每組資料有兩行,第一行為序列的長度n,第二行為n個整數,整數之間用空格分隔。當n=0時輸入結束。
輸出對於每一組資料輸出若干行。每行為相應的出棧元素。當出棧異常時,輸出「pop error」並結束本組資料的輸出。
輸入樣例 1
51 2 -1 -1 1
51 -1 -1 2 2
0
輸出樣例 1
211pop error
最基本的常規棧操作,沒啥可說的
#includeusingnamespace
std;
#define maxsize 1000
#define ok 1
#define error -1typedef
struct
sqstack;
int initstack(sqstack &s)
int push(sqstack &s,int
e)int pop(sqstack &s)
int gettop(sqstack &s)
intmain()
else}}
}}
入棧和出棧的基本操作
題目 描述 輸入乙個整數序列a1,a2,a3.an。當ai不等於 1時將ai進棧 當ai 1時,輸出棧頂元素並將其出棧。輸入多組資料,每組資料有兩行,第一行為序列的長度n,第二行為n個整數,整數之間用空格分隔。當n 0時輸入結束。輸出對於每一組資料輸出若干行。每行為相應的出棧元素。當出棧異常時,輸出...
棧元素入棧出棧操作(C)
元素入棧時,會先將棧壓入,top指標再向上加一。c語言如何實現呢,下面是入棧的 片段 typedef struct node sqstack void push sqstack s,int elem 入棧 s top elem,s本為指向node結構的乙個指標,本來對普通結構體指標賦值或者使用用 s...
入棧和出棧問題
首先要知道對n個元素入棧,其出棧順序共有多少種情況?這個結果是 2n n 1 n n 即如果有3個元素,那麼出棧的順序共有5中情況。a b c 的順序入棧,那麼出棧情況如下 1 abc 2 bac 3 bca 4 cba 5 acb 出棧問題歸根到底為 先入後出原則。如果第乙個出棧的為a,那麼bc還...