棧的基本操作及實現(順序棧)

2021-09-27 00:16:19 字數 1840 閱讀 3939

順序儲存結構來實現的棧稱為順序棧,它利用一組位址連續的儲存單元存放自棧底到棧頂的資料元素,同時附設乙個指標top來指示當前棧頂的位置。

(注意,「&」是c++特有的用來表示引用呼叫,所以此檔案應以.cpp字尾儲存)

結構體為:

#define maxsize 50

typedef

int elemtype;

typedef

struct

sqstack;

基本方法為:

void

initstack

(sqstack &s)

;//初始化

bool stackempty

(sqstack &s)

;//判空

bool push

(sqstack &s, elemtype e)

;//入棧

bool pop

(sqstack &s, elemtype &e)

;//出棧

bool gettop

(sqstack s, elemtype &e)

;//獲取棧頂元素

乙個測試函式main()如下所示:

int

main()

pop(sqstack, i)

;gettop

(sqstack, s)

;printf

("%d"

, s)

;return0;

}

執行結果為:

完整的源程式為:

#include

"stdio.h"

#include

"stdlib.h"

#define maxsize 50

typedef

int elemtype;

typedef

struct

sqstack;

void

initstack

(sqstack &s)

;bool stackempty

(sqstack &s)

;bool push

(sqstack &s, elemtype e)

;bool pop

(sqstack &s, elemtype &e)

;bool gettop

(sqstack s, elemtype &e)

;bool clearstack

(sqstack &s)

;int

main()

pop(sqstack, i)

;gettop

(sqstack, s)

;printf

("%d"

, s)

;return0;

}void

initstack

(sqstack &s)

bool stackempty

(sqstack &s)

bool push

(sqstack &s, elemtype e)

bool pop

(sqstack &s, elemtype &e)

bool gettop

(sqstack s, elemtype &e)

順序棧的基本操作及實現 C C

1.順序棧的初始化 2.判斷順序棧是否為空 3求順序棧的長度 4.清空順序棧 5.銷毀順序棧 6.順序棧進棧 7.順序棧出棧 8.取順序棧的棧頂元素 include include define ok 1 define error 0 define overflow 1 define maxsize...

棧 順序棧的基本操作

棧也是一種線性表,但是棧是一種操作受限的線性表,因此也可稱它為限定性的資料機構。棧是限定僅在表尾進行插入或刪除操作的線性表。棧的表尾為它的棧頂,表頭為它的棧底。先進入棧的後出棧,後進入棧的先出棧。所以,棧被稱為後進先出的線性表。順序棧基本操作的實現 include include define in...

棧 順序棧的基本操作

棧 作為一種限定性線性表,是將線性表的插入和刪除操作限制為僅在表的一端進行,通常將表中允許插入 刪除操作的一端稱為棧頂。下面給出順序棧的 演示。順序棧 採用順序儲存結構實現的棧,即利用一組位址連續的儲存單元依次存放自棧底的資料元素,同時由於棧操作的特殊性,還必須附設乙個位置指標top來動態的指示 棧...