專案二 建立鏈棧演算法庫

2021-07-05 14:43:22 字數 1743 閱讀 9820

問題及**:

/*2015,煙台大學計算機與控制工程學院

*完成日期:2023年10月7日

*問題描述:定義鏈棧儲存結構,實現其基本運算,並完成測試。

*輸入描述:無

*結果輸出:資料元素

*/

(1)標頭檔案:

#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

(2)源程式:

#include #include #include "listack.h"

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

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

free(s); //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");

}

(3)除錯函式:

#include "listack.h"

#include int main()

printf("\n");

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

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

destroystack(s);

return 0;

}

執行結果:

知識點總結:

運用演算法庫,簡單方便。、

學習心得:

演算法庫應用在資料結構中是演算法更簡單方便。

專案2 建立鏈棧演算法庫

問題及 1.標頭檔案 listack.h,包含定義鏈棧資料結構的 巨集定義 要實現演算法的函式的宣告 ifndef listack h included define listack h included typedef char elemtype typedef struct linknode l...

建立鏈棧演算法庫

問題描述 定義鏈棧儲存結構,實現其基本運算,並完成測試。輸入描述 若干資料。程式輸出 各個步驟的文字敘述及其資料的輸出。include includetypedef char elemtype typedef struct linknode listack 鏈棧型別定義 void initstack...

專案二 建立鏈隊演算法庫

目的 建立鏈隊演算法庫 include include include lianduitou.h using namespace std int main printf n printf 9 釋放鏈隊 n destroyqueue q return 0 cpp view plain copytype...