棧基礎操作

2021-10-01 05:37:16 字數 1667 閱讀 1339

# 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...