資料結構 順序棧

2021-09-28 20:14:27 字數 1730 閱讀 7896

運算規則:只能在棧頂運算,且訪問結點時依照後進先出(lifo)或先進後出(filo)的原則

實現方式

// 最大空間

typedef

int selemtype;

typedef

int status;

typedef

struct

sqstack;

// 順序棧初始化

status initstack

(sqstack& s)

// 判斷順序棧是否為空

bool

stackempty

(sqstack s)

// 判斷是否為滿棧

bool

stackfull

(sqstack s)

// 順序棧的長度

intstacklength

(sqstack s)

// 輸出棧頂元素

status gettop

(sqstack s, selemtype& e)

// 入棧

status push

(sqstack& s, selemtype e)

// 出棧

status pop

(sqstack& s, selemtype& e)

// 清空順序棧

status clearstack

(sqstack& s)

// 銷毀順序棧

status destroystack

(sqstack& s)

cout <<

"銷毀成功!"

<< endl;

return ok;

}// 輸入

void

creat

(sqstack& s,

int m)

}// 輸出

void

output

(sqstack s)

intmain()

請輸入棧的長度: 3

請輸入第1個元素: 1

請輸入第2個元素: 2

請輸入第3個元素: 3

棧中元素為: 1 2 3

順序棧的長度為: 3

請輸入入棧元素: 7

棧中元素為: 1 2 3 7

順序棧的長度為: 4

棧頂元素為: 7

順序棧的長度為: 4

彈出的元素為: 7

棧中元素為: 1 2 3

順序棧的長度為: 3

清空成功!

順序棧的長度為: 0

銷毀成功!

資料結構 順序棧

編寫乙個程式,實現順序棧 假設棧中元素型別為char 的各種基本運算。並完成下面功能 1 初始化棧s 2 判斷棧s是否非空 3 依次進棧元素a,b,c,d,e 4 判斷棧s是否非空 5 輸出棧長度 6 輸出從棧頂到棧底元素 7 輸出出棧序列 8 判斷棧s是否非空 9 釋放棧。include incl...

資料結構 順序棧

構造乙個順序棧 當輸入9999時,結束入棧操作 輸出棧中元素,顯示棧頂元素,刪除棧頂元素 include include include define stack init size 100 define ok 1 define error 0 typedef int selemtype 順序棧結構...

資料結構 順序棧

棧是一種只能在一端進行插入或刪除操作的線性表。其中允許進行插入或刪除操作的一端稱為棧頂 top 棧頂是由乙個稱為棧頂指標的位置指示器來指示,它是動態變化的。表的另一端稱為棧底,棧底是固定不變的。先進後出 filo include include define maxsize 100 typedef ...