棧的基本操作(進棧,出棧)

2021-08-08 13:30:21 字數 519 閱讀 5481

#include #define max_stack_size 100

#define error 0

#define ok 1

typedef int elemtype;

typedef int status;

typedef struct sqstack

sqstack;

//棧的初始化

sqstack init_srack(void)

//壓棧(元素進棧)

status push(sqstack &s,elemtype e)

//彈棧(元素出棧)

status pop(sqstack s,elemtype &e)

int main()

本**是參考清華大學版的資料結構進行編寫的,當時由於初學,所以有一些bug,回首一看,已經過去了三四年,哈哈哈哈哈,再回來看這個**,當時還真是「年少無知」哈~不過,除了bug以外,我不會重新的去更改這個**,也許是乙份珍貴的記憶。

進棧出棧規則

先弄個例子 已知元素的入棧順序為abcde,則下列哪種出棧順序是不可能的 出棧和入棧操作可交叉進行 a edcba b cabde c dcbae d bcdea 先進後出,後進先出 在原序列中相對位置比它小的,必須是逆序 在原序列中相對位置比它大的,順序沒有要求 以上兩點可以間插進行。a選項正確 ...

進棧與出棧

問題描述 有四個元素abcd依次入初始為空的棧中,入棧之後可停留,可出棧。最後所有元素都出棧,請分析並寫出所有可能的分別以a,b,c,d開頭的出棧序列。首先分析以a開頭的出棧序列。序列前兩位無非3種 ab,ac,ad。再分別分析這三種開頭的序列分別對應著幾種可能序列。ab顯然有abcd和abdc兩種...

棧 進棧,出棧指標修改的順序問題

策略 設計乙個順序棧,附設的top指標有兩種策略 借助一篇文章深入分析二者的異同。top指向棧頂 首先令top指向當前棧頂元素,這樣進來乙個新的元素時,新元素不能佔據當前top指向的位置,需要把top指標挪一挪,一般是top 但不排除題目中設計的是top 不管怎樣,都是把top指標往棧外拓展乙個空位...