c語言 順序棧的實現

2021-07-10 19:02:49 字數 1258 閱讀 8496

#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...