順序棧 課上練

2022-05-08 05:42:13 字數 1727 閱讀 6468

1 #include 23/*

此處是順序棧資料結構定義

*/4 typedef int

datatype;

5struct

seqstack

6 ;11

12 typedef struct seqstack *pseqstack;

13//

第一關14 pseqstack createnullstack_seq(int

m)15

20 pseqstack stack = (pseqstack)malloc(sizeof(struct

seqstack));

21if(stack!=null)

26return

stack;27}

2829

//第二關

30int

isnullstack_seq(pseqstack l)

3137

if(l->top==0)40

return0;

41}4243

44//

第三關

45int

isfullstack_seq(pseqstack l)

4651

return0;

52}5354

55//

第四關56

intpush_seq(pseqstack l ,datatype x)

57 61 l->top++;

62 l->element[l->top]=x;

63return1;

6465}66

6768

69//

第五關70

datatype pop_seq(pseqstack l)

71 75

if(l->top==0

)else

8384}85

86//

第六關87

datatype top_seq(pseqstack l)

88 92

if(l!=null)95}

9697

//銷毀順序棧,釋放棧所佔儲存空間

98int

destroystack_seq(pseqstack l)

99104

int cnt=0

;105

while(l->top!=0

)109

}110

111112

//第七關

113//

使用已實現的棧操作,實現數制轉換

114115

void

print(pseqstack l)

116121

while(l->top!=0

)125

126}

127128

void convert(int data , int

k)129

138while(l->top!=0

)141

142}

143if(k==8

)148

while(l->top!=0

)151

152}

153if(k==16

);155

while

(data)

159while(l->top!=0

)163

164}

165 }

view code

棧,順序棧,鏈棧

棧作為一種限定性線性表,是將表的插入刪除限制為僅在表的一端進行,通常將表中允許插入刪除的一端叫做棧頂 top 因此棧頂的當前位置是動態變化的。棧的另一端叫做棧底 bottom 當棧中沒有元素時稱為空棧。插入操作稱為進棧或入棧,刪除操作稱為出棧或退棧。棧是先進後出的線性表,簡稱為lifo表。棧主要有兩...

棧 順序棧 鏈棧

棧 順序棧 鏈棧 分別用順序表和煉表實現棧,完成入棧 出棧 窺探棧頂元素等操作 commom.h ifndef common h define commom h include include include include include define elemtype int void swap...

棧之順序棧

資料結構草草學過,不過沒有認真運用過。雖然知道一些最為基本的抽象型別及一些常用操作,不過叫我把這些基本的演算法寫出來我也是寫不出來的。因為常說資料結構 演算法是乙個程式設計師最基本的素質,所以這次認真加以複習。在複習的同時我盡量將自己學習的其他的一些基本知識比如c 中的物件導向思想也引入進來,同時也...