順序儲存結構來實現的棧稱為順序棧,它利用一組位址連續的儲存單元存放自棧底到棧頂的資料元素,同時附設乙個指標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來動態的指示 棧...