#include
#include
#define maxsize 100
typedef
struct linkstnode//定義鏈棧結構體
linkstnode;
void
initstack
(linkstnode *
&s)//初始化順序棧 initiate 英[ɪˈnɪʃieɪt] 開始, 創始,開闢
void
destroystack
(linkstnode *
&s)//銷毀順序棧 destroy [dɪˈstrɔɪ]殺死; 破壞,摧毀;
free
(pre);}
bool stackempty
(linkstnode *
&s)//判斷是否為空表 empty[ˈempti]空的,空虛的,空洞的;
bool push
(linkstnode *
&s,char e)
//進棧,push 按; 推動
bool pop
(linkstnode *
&s,char
&e)//出棧,pop出現; 突然出現;
bool gettop
(linkstnode *s,
char
&e)//取棧頂元素
void
match
(char x)
if(stackempty
(z))
printf
("括號匹配\n");
else
printf
("括號不匹配\n");
}int
main()
gettop
(s, e)
;printf
("棧頂元素為%c\n"
, e)
;pop
(s, e)
;printf
("出棧元素為%c\n"
, e)
;pop
(s, e)
;printf
("出棧元素為%c\n"
, e)
;pop
(s, e)
;printf
("出棧元素為%c\n"
, e)
;destroystack
(s);
char b=
"(()())"
;match
(b);
system
("pause");
return0;
}
資料結構 棧 鏈棧
棧的插入和刪除只在棧頂進行操作,在單鏈表中,頭指標是單鏈表的必須元素 而在棧中,棧頂指標也是鏈棧的必須元素,且一般將棧頂放在單鏈表的頭部。線性表有順序儲存結構和鏈式儲存結構,棧屬於線性表的一種,也具有順序儲存結構和鏈式儲存結構。對於棧的鏈式儲存結構,一般稱之為鏈棧。棧的特點 先進後出 棧函式實現 1...
資料結構 鏈棧
編寫乙個程式,實現鏈棧 假設棧中元素型別為char 的各種基本運算。並完成下面功能 1 初始化鏈棧s 2 判斷鏈棧s是否非空 3 依次進鏈棧元素a,b,c,d,e 4 判斷鏈棧s是否非空 5 輸出鏈棧長度 6 輸出從棧頂到棧底元素 7 輸出出鏈棧序列 8 判斷鏈棧s是否非空 9 釋放鏈棧。inclu...
資料結構 鏈棧
鏈式儲存的棧稱為鏈棧,結構如下圖 鏈棧無滿棧問題,空間可擴充,但有棧空問題,棧空的條件為top next null。進棧與入棧僅在棧頂進行,鏈式棧的棧頂在棧表頭。鏈棧的定義如下 struct stacknode class stack 建立頭結點 stack void push int item 入...