堆栈C语言实现
堆棧的抽象數據類型描述:
- 類型名稱: 堆棧(Stack)。
- 數據對象集: 一個有 0 個或多個元素的又窮表。
- 操作集: 長度為 max_size 的堆棧 S ∈ Stack, 堆棧元素 item ∈ ElementType。
偽碼描述:
1 #define MAX_SIZE 10 // 存儲元素的最大個數 2 #define ERROE -1 3 #define bool int 4 #define True 1 5 #define Flase 0 6 // element_type 代表任意基本數據類型 7 8 typedef struct{ 9 element_type data[MAX_SIZE]; 10 int top; 11 } stack; 12 13 // 入棧 14 void push(stack *s, element_type item) 15 { 16 if (s->top < MAX_SIZE-1){ 17 s->data[(s->top)+1] = item; 18 s->top++; 19 } 20 } 21 22 // 出棧 23 element_type pop(stack *s) 24 { 25 element_type n = NULL; 26 if (s->top != -1){ 27 n = s->data[(s->top--)]; 28 } 29 return n; 30 } 31 32 // 判斷堆棧是否為空 33 bool is_empty(stack *s) 34 { 35 bool flag = Flase; 36 if (s->top == -1){ 37 flag = True; 38 } 39 40 return flag; 41 } 42 43 // 判斷堆棧是否已滿 44 bool is_full(stack *s, int MAX_SIZE) 45 { 46 bool flag = Flase; 47 if (s->top == MAX_SIZE-1){ 48 flag = True; 49 } 50 51 return flag; 52 }?
?
轉載于:https://www.cnblogs.com/tingshuo123/p/7090858.html
總結
- 上一篇: 【C++第一个Demo】---控制台RP
- 下一篇: 【树形DP】 HDU 2196 Comp