1、概念
棧的順序儲存結構通常是特殊的順序儲存線性表。
2、功能**實現
(1)棧的順序儲存結構的儲存結構
typedef
struct sqstack
sqstack,
*sqstackpointer;
(2)初始化棧:分配空間
void
initstack
(sqstackpointer *s)
(3)入棧
int
push
(sqstackpointer s,elemtype e)
(4)出棧
int
pop(sqstackpointer s)
(5)判斷棧是否為空
int
stackempty
(sqstackpointer s)
(6)返回棧頂元素
int
gettop
(sqstackpointer s)
(7)返回棧的元素的個數
int
stacklength
(sqstackpointer s)
(8)清空棧
void
clearstack
(sqstackpointer s)
(9)銷毀棧
void
destroystack
(sqstackpointer s)
3、測試程式(編譯環境visual studio 2017)
#include
#include
#define ok 1
#define error -999
#define maxsize 27
typedef
int elemtype;
typedef
struct sqstack
sqstack,
*sqstackpointer;
void
initstack
(sqstackpointer *s)
intpush
(sqstackpointer s,elemtype e)
intpop
(sqstackpointer s)
intstackempty
(sqstackpointer s)
intgettop
(sqstackpointer s)
intstacklength
(sqstackpointer s)
void
clearstack
(sqstackpointer s)
void
destroystack
(sqstackpointer s)
void
menu()
intmain
(void
)printf
("請輸入需要執行的功能:");
scanf_s
("%d"
,&i);}
printf()
;return0;
}
執行結果: 資料結構(棧 順序儲存 )
棧是特殊的線性表,規定插入和刪除在同一端進行 進行插入和刪除的那一端成為棧頂,另一端為棧底 插入為進棧,刪除為出棧 先進後出 ps 例如 abc進棧 出棧共有幾種情況 上溢 超出規定的空間大小還進行插入操作 下溢 棧中元素已經用完了還進行刪除操作 include include include de...
順序儲存 資料結構 棧
備註 以列表為基礎進行對此的封裝,以便達到棧的效果及作用 1 2棧的順序儲存結構 3重點 4 56 自定義棧異常 7class stackerror exception 8pass910 基於列表實現順序棧 11class sstack 12def init self 13 約定列表的最後乙個元素為...
資料結構 棧的順序儲存
棧是一種後進先出的資料結構,也就是說他不像陣列那樣子,可以在中間插入,棧只能夠在上乙個存入資料的後面再存資料,而且只能取現進去的資料。棧簡稱lifo結構。棧是限定僅在表位進行插入和刪除操作的線性表。允許插入和刪除的一端叫棧頂,另一端叫棧底,不含任何元素的叫空棧。棧的插入操作,叫做進棧,也稱作壓棧,入...