1 #include 23/*view code此處是順序棧資料結構定義
*/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 }
棧,順序棧,鏈棧
棧作為一種限定性線性表,是將表的插入刪除限制為僅在表的一端進行,通常將表中允許插入刪除的一端叫做棧頂 top 因此棧頂的當前位置是動態變化的。棧的另一端叫做棧底 bottom 當棧中沒有元素時稱為空棧。插入操作稱為進棧或入棧,刪除操作稱為出棧或退棧。棧是先進後出的線性表,簡稱為lifo表。棧主要有兩...
棧 順序棧 鏈棧
棧 順序棧 鏈棧 分別用順序表和煉表實現棧,完成入棧 出棧 窺探棧頂元素等操作 commom.h ifndef common h define commom h include include include include include define elemtype int void swap...
棧之順序棧
資料結構草草學過,不過沒有認真運用過。雖然知道一些最為基本的抽象型別及一些常用操作,不過叫我把這些基本的演算法寫出來我也是寫不出來的。因為常說資料結構 演算法是乙個程式設計師最基本的素質,所以這次認真加以複習。在複習的同時我盡量將自己學習的其他的一些基本知識比如c 中的物件導向思想也引入進來,同時也...