/***順序棧的實現***/
#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...