2023年大二上 資料結構 棧(2) 鏈棧演算法庫

2021-07-06 11:29:42 字數 1835 閱讀 3281

main.cpp

/*  

*檔名稱:annpion.cpp

*完成日期:2023年11月6日

*版本號:v1.0

* *問題描述:main.cpp

*輸入描述:無。

*輸出描述:輸出各個函式的測試結果。

*/

#include #include "listack.h"

int main()

printf("\n");

printf("(8)鏈棧為%s\n",(stackempty(s)?"空":"非空"));

printf("(9)釋放鏈棧\n");

destroystack(s);

return 0;

}

listack.h

/*  

*檔名稱:annpion.cpp

*完成日期:2023年11月6日

*版本號:v1.0

* *問題描述:標頭檔案。

*輸入描述:無。

*輸出描述:無。

*/

#ifndef listack_h_included

#define listack_h_included

typedef char elemtype;

typedef struct linknode

listack;

void initstack(listack *&s); //初始化棧

void destroystack(listack *&s); //銷毀棧

int stacklength(listack *s); //返回棧長度

bool stackempty(listack *s); //判斷棧是否為空

void push(listack *&s,elemtype e); //入棧

bool pop(listack *&s,elemtype &e); //出棧

bool gettop(listack *s,elemtype &e); //取棧頂元素

void dispstack(listack *s); //輸出棧中元素

#endif // listack_h_included

listack.cpp

/*  

*檔名稱:annpion.cpp

*完成日期:2023年11月6日

*版本號:v1.0

* *問題描述:原始檔。

*輸入描述:無。

*輸出描述:無。

*/

#include #include #include "listack.h"

void initstack(listack *&s)

void destroystack(listack *&s)

}int stacklength(listack *s)

return i;

}bool stackempty(listack *s)

void push(listack *&s,elemtype e)

bool pop(listack *&s,elemtype &e)

bool gettop(listack *s,elemtype &e)

void dispstack(listack *s)

printf("\n");

}

執行結果:

2023年大二上 資料結構 棧(3) 括號的匹配

檔名稱 annpion.cpp 完成日期 2015年11月13日 版本號 v1.0 問題描述 假設表示式中允許三種括號 圓括號 方括號和大括號。編寫乙個演算法,判斷表示式中的各種左括號是否與右括號匹配。輸入描述 表示式。輸出描述 輸出是否匹配正確。include stack.h include in...

2023年大二上 資料結構 順序表(2) 刪除元素

檔名稱 annpion.cpp 完成日期 2015年10月22日 版本號 v1.0 問題描述 刪除元素在 x,y 之間的所有元素,要求演算法的時間複雜度為o n 空間複雜度為o 1 輸入描述 輸入2個數x,y。輸出描述 輸出刪除了 x,y 的陣列。include list.h include voi...

2023年大二上 資料結構 棧(5) 字尾表示式

利用sqstack.h中棧的基本運算,實現將乙個中綴表示式轉換為對應的字尾表示式的演算法。例如,輸入 56 20 4 2 輸出字尾表示式 56 20 4 2 要求在數字後加 檔名稱 annpion.cpp 完成日期 2015年11月14日 版本號 v1.0 問題描述 利用sqstack.h中棧的基本...