線性表之順序棧C 實現

2022-02-04 09:44:24 字數 1701 閱讀 7869

線性表之順序棧

棧是限定僅在表尾(棧頂)進行插入刪除操作的線性表,filo:先進後出

一、順序棧的標頭檔案:seqstack.h

1

//順序棧標頭檔案

2 #include3

using

namespace

std;4//

設定順序棧的大小

5const

int stacksize = 10

;6 template7//

定義順序棧的模板型別

8class

seqstack

12//

析構函式為空

13   ~seqstack(){}

14//

入棧操作,將元素入棧

15void

push(datatype x);

16//

出棧操作,將棧頂元素彈出棧

17datatype pop();

18//

取出棧頂元素,不刪除棧頂元素(即取出的元素還在棧內)

19datatype gettop();

20//

判斷棧是否為空

21int

isempty();

22private:23

//存放站元素的指標

24datatype data[stacksize];

25//

棧頂指標:棧頂元素在陣列中的下標

26int

top;

27};

2829

3031

//實現順序棧入棧操作

32 template

33void seqstack::push(datatype x)

3440

else

4147}48

4950

51//

實現順序棧出棧,彈出棧頂元素

52 template

53 datatype seqstack::pop()

5460

else

6169}70

7172

73//

實現取出棧頂元素,但不刪除取出的元素

74 template

75 datatype seqstack::gettop()

7682

else

8389}90

9192

93//

實現判斷順序棧是否是空棧:棧空返回 1,否則返回 0

94 template

95int seqstack::isempty()

96102

else

103106 }

二、測試順序棧的原始檔:testseqstack.cpp

1

//測試順序棧

2 #include3

//引入順序棧標頭檔案

4 #include"

seqstack.h"5

using

namespace

std;

6int

main()

7

三、執行示例結果:

線性表之順序表C 實現

線性表之順序表 一 標頭檔案 seqlist.h 1 順序線性表的標頭檔案 2 include3 4const int maxsize 100 5 定義順序表seqlist的模板類 6 template 7class seqlist 11 順序表有參構造器 建立乙個長度為n的順序表 12 seqli...

線性表(二) 棧之順序棧

一 定義棧的基類 棧的基類 template class stack 判斷棧是否為空 virtual bool empty 0 棧中元素的大小 virtual size t size 0 獲取棧頂元素 virtual t top 0 彈出棧頂元素 virtual t pop 0 入棧 virtual...

c語言線性表之順序表實現

避免重複編譯 ifndef seqlist h define seqlist h include include include define seqlist init size 8 define inc size 3 typedef int elmetype typedef struct seql...