順序棧的實現

2021-09-26 04:07:56 字數 1639 閱讀 1479

#ifndef sqhead_h_included

#define sqhead_h_included

//順序棧的儲存結構和基本操作說明

#define stack_init_size 100

#define stackincrement 10

typedef

int elemtype;

typedef

struct

sqstack;

//構造乙個空棧

void

init_stack

(sqstack &s)

;//銷毀乙個棧

void

destory_stack

(sqstack &s)

;//把棧置為空

void

clear_stack

(sqstack &s)

;//判斷棧是否為空

bool isempty

(sqstack s)

;//返回棧的長度

intstack_length

(sqstack s)

;//返回棧頂元素,但不出棧

void

gettop

(sqstack s, elemtype &e)

;//入棧

void

push

(sqstack &s, elemtype e)

;//出棧

void

pop(sqstack &s, elemtype &e)

;//列印棧元素

void

showup

(sqstack s)

;#endif

// sqhead_h_included

構造棧

//構造乙個空棧

void

init_stack

(sqstack &s)

s.top = s.bottom;

s.stacksize = stack_init_size;

return

;}

返回棧的長度

//返回棧的長度

intstack_length

(sqstack s)

else

return length;

}}

入棧

//入棧

void

push

(sqstack &s, elemtype e)

s.bottom = temp;

s.top = s.bottom + s.stacksize;

s.stacksize +

= stackincrement;

}*s.top ++

= e;

return

;}

出棧

//出棧

void

pop(sqstack &s, elemtype &e)

e =*(

-- s.top)

;return

;}

因為注釋也比較全,**思路和順序表差不多,沒有再用文字說明。完整**

順序棧的實現

棧是一種限定只在表尾進行插入或刪除操作,棧也是線性表 表頭稱為棧的底部,表尾稱為棧的頂部,表為空稱為空棧,棧又 稱為後進先出的線性表,棧也有兩種表示 順序棧與鏈式棧 順序棧是利用一組位址連續的儲存單元,依次存放從棧底到棧頂 的資料元素,附設乙個指標指示棧頂的元素在棧中的位置.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...

順序棧的實現

棧關鍵點 後進先出,先進後出 借助陣列和 指標 來實現 includeusing namespace std const int smax 30 template class secsteck secsteck void set datatype a,int n 先建立乙個基礎棧,為後續操作做準備 ...