#include#include#include#define stack_init_size 100
#define stack_increment 10
using namespace std;
typedef struct stack //結構體定義
stack;
//函式宣告部分
void error(char *s); //錯誤處理函式
stack creat_stack();//若干個元素的順序棧
void destroy_stack(stack & l); //銷毀順序棧
void clear_stack(stack & l); //清空順序棧
int getlength_stack(stack &l); //計算順序棧長度
void gettop_stack(stack &l, int e); //得到順序棧棧頂元素
void push_stack(stack &l, int e); //壓棧操作函式
void pop_stack(stack &l, int e); //出棧操作函式
void increment_stack(stack & l); //增加順序棧空間函式
void print_stack(stack & l); //輸出順序棧元素函式
//函式實現部分
void error(char *s)
stack creat_stack()
cout << "順序棧建立成功!" << endl;
return l;
}void destroy_stack(stack &l)
void clear_stack(stack &l)
int getlength_stack(stack & l)
void gettop_stack(stack &l, int e)
void increment_stack(stack &l)
l.elem = newstack;
delete l.elem;
l.stacksize += stack_increment;
}void push_stack(stack &l, int e)
void pop_stack(stack &l, int e)
void print_stack(stack &l)
cout << endl;
}int main()
順序棧的實現C語言
沒有什麼要講的。順序棧的結構體裡 頭指標,尾指標,還有棧的容量。構建棧的時候,就是尋找出一片大小合適的記憶體空間,並用結構體裡的尾指標指向這片空間。頭指標開始也是指向這片空間的。壓棧就是 先判斷空間是否足夠?不夠的話,繼續分配空間 夠的話給頭指標指向的結點賦值,並把頭結點向後移一位 也就是說頭指標始...
順序棧的實現(C語言)
順序棧vs2010 除錯 include include include define true 1 define false 0 define stack init size 100 define stackincreasement 10 struct seqstack 初始化棧 int init...
順序棧的實現(C語言)
順序棧vs2010 除錯 include include include define true 1 define false 0 define stack init size 100 define stackincreasement 10 struct seqstack 初始化棧 int init...