# define maxsize 50
typedef
struct
sqstack
void
initstack
(sqstack &s)
bool
stackempty
(sqstack &s)
bool
push
(sqstack &s,elemtype x)
bool
pop(sqstack &s,elemtype &x)
bool
gettop
(sqstack &s,elemtype &x)
typedef
struct linknode
*listack
**注意:所有操作均在單鏈表的表頭進行
//使用棧來判斷單鏈表的元素是否中心對稱
//先將單鏈表中的一半元素入棧,然後將棧中的元素出棧和單鏈表中的元素進行比較
bool
iscentral
(linklist l)
i--;if
(n%2==1
) p=p-
>next;
while
(p!=
null
&&data[i]
==p-
>data)
if(i==-1
)return
true
;return
false
}
//兩個棧採用同一塊儲存區
#define maxsize 100
typedef strecusqstack
//入棧
bool
push
(sqstack &s,elemtype x,
int num)
return
true;}
//出棧
bool
pop(sqstack &s,elemtype &x,
int num)
return
true
;}
bool
match
(char a)
':if(x!=
'}')
return
false
;break;}
//switch
i++;}
//ifif(
stackempty
(s)!=
null
)return
false
;return
true
;}
int
reverse
(int n)
while
(stackempty
(s)!=
null
)return result;
}
棧的基礎操作
棧的定義 define maxsize 100 typedef struct node seastack,pseastack 判斷棧是否為空如果為空,函式返回1 否則,返回0 int isempty pseqstack q 返回棧中被占用空間長度 int length pseqstack q 資料入...
鏈式棧的基礎操作
環境 dev c tdm gcc 4.9.2 64 bit profiling 輸出大小 1.85755443572998 mib 鏈式棧操作 包括鏈式棧的類定義 使用模板 棧的構造與析構 棧的壓棧與彈棧 訪問棧頂元素 棧的清空 include using namespace std templat...
線性棧的基礎操作
環境 dev c tdm gcc 4.9.2 64 bit profiling 輸出大小 1.85850429534912 mib 線性棧操作 包括線性棧的類定義 使用模板 棧的構造與析構 棧的壓棧與彈棧 訪問棧頂元素 判斷棧空與棧滿 棧的清空 template class t class asta...