順序棧的實現 超級詳細

2021-10-23 10:37:39 字數 1432 閱讀 7571

/***順序棧的實現***/

#include

#include

using

namespace std;

//順序棧定義

#define ok 1

#define error 0

#define overflow -2

#define maxsize 100

//順序棧儲存空間的初始分配量

typedef

int status;

typedef

char selemtype;

typedef

struct

sqstack;

//演算法1 順序棧的初始化

status initstack

(sqstack &s)

//演算法2 順序棧的入棧

status push

(sqstack &s, selemtype e)

//演算法3 順序棧的出棧

status pop

(sqstack &s, selemtype &e)

//演算法4 取順序棧的棧頂元素

char

gettop

(sqstack s)

intmain()

else

cout <<

"初始化棧失敗\n\n"

;break

;case2:

if(flag)

} cout << endl

<< endl;

}else

cout <<

"棧未建立,請重新選擇\n\n"

; file.

close()

;}break

;case3:

//演算法3 順序棧的出棧

if(flag !=-1

&& flag !=0)

cout <<

"棧頂元素為:\n"

<<

gettop

(s)<< endl

<< endl;

else

cout <<

"棧中無元素,請重新選擇\n"

<< endl;

break

;case4:

//演算法4 取順序棧的棧頂元素

cout <<

"依次彈出的棧頂元素為:\n"

;while

(pop

(s, t)

) cout << endl

<< endl;

break;}

}return0;

}

執行結果:

順序棧的表示和實現(有詳細注釋)

include define overflow 0 定義 溢位 為0 define error 0 define ok 1 define maxsize 100 順序棧儲存空間的初始分配量 typedef int selemtype selemtype為資料型別 typedef int status...

順序棧的實現

棧是一種限定只在表尾進行插入或刪除操作,棧也是線性表 表頭稱為棧的底部,表尾稱為棧的頂部,表為空稱為空棧,棧又 稱為後進先出的線性表,棧也有兩種表示 順序棧與鏈式棧 順序棧是利用一組位址連續的儲存單元,依次存放從棧底到棧頂 的資料元素,附設乙個指標指示棧頂的元素在棧中的位置.ifndef stack...

棧的順序實現

棧的順序實現 03 27 測試環境 tc2.0 include define true 1 define false 0 define len sizeof elemtype define stack initsize 100 define stack increment 30 typedef in...