順序棧的應用

2021-07-28 23:23:22 字數 1815 閱讀 5584

//預編譯命令

#include

#include

#define ok 1

#define error 0

#define overflow -2

#define stack_init_size 10  //順序棧儲存空間的初始分配量

#define stackincrement 2    // 順序棧儲存空間的分配增量

//資料結構

typedef int status;

typedef int selemtype; //完成數制轉換

//typedef char selemtype; //完成括號匹配

typedef struct

sqstack;

//函式宣告

int menu_select();

status initstack(sqstack &s);

status createstack(sqstack &s,int n);

void printstack(sqstack s);

status gettop(sqstack s,selemtype &e);

status push(sqstack &s,selemtype e);

status pop(sqstack &s,selemtype &e);

status stackempty(sqstack s);

status destroystack(sqstack &s);

//主函式

int main()

}return 0;

}

//選單函式

int menu_select()

return sn;

}// 構造乙個最大空間為 stack_init_size的空順序棧s

status initstack (sqstack &s)

//輸入n個元素入棧

status createstack(sqstack &s,int n)

return ok;

}

//輸入n個元素入棧

status createstack(sqstack &s,int n)

return ok;

}

// 棧不空,則用e返回棧頂元素

status gettop(sqstack s,selemtype &e)

//給定值e入棧

status push(sqstack &s,selemtype e)

if(!s.base)

*s.top++ =e;

return ok;

}

// 若棧不空,則刪除s的棧頂元素,

// 用 e 返回其值,並返回ok;

// 否則返回error

status pop (sqstack &s, selemtype &e)

//判斷棧空否

status stackempty(sqstack s)

//銷毀棧

status destroystack(sqstack &s)

順序棧的應用 括號匹配

include define maxsize 100 typedef struct sequence stack void init sequence stack st 棧的初始化 int empty sequence stack st 判斷棧是否為空 char read sequence stac...

棧的順序表示及應用

include using namespace std define stack init size 100 define stackincrease 10 define int int define char char typedef struct sqstack bool initstack s...

順序棧的應用括號匹配問題

利用程式設計檢查這一串字元中的 是否匹配 解決思路 利用棧將字串的 的時候取出一位來和棧頂判斷是否相等。充分利用棧空間的特點。include define m 100 using namespace std typedef struct stack stacktype 別名設定 bool judge...