入棧和出棧的基本操作

2022-07-15 13:51:11 字數 697 閱讀 4566

描述

輸入乙個整數序列a1,a2,a3...,an。當ai不等於-1時將ai進棧;當ai=-1時,輸出棧頂元素並將其出棧。

輸入多組資料,每組資料有兩行,第一行為序列的長度n,第二行為n個整數,整數之間用空格分隔。當n=0時輸入結束。

輸出對於每一組資料輸出若干行。每行為相應的出棧元素。當出棧異常時,輸出「pop error」並結束本組資料的輸出。

輸入樣例 1 

5

1 2 -1 -1 1

51 -1 -1 2 2

0

輸出樣例 1

211

pop error

最基本的常規棧操作,沒啥可說的

#includeusing

namespace

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還...