第五周專案二 建立鏈棧演算法庫

2021-07-23 08:08:07 字數 2204 閱讀 4045

/*檔名稱:專案2.cbp

作    者:陳鵬鵬

完成日期:2023年9月30日

版 本 號:v1.0

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

輸入描述:無

程式輸出:測試資料*

[cpp]view plain

copy

#ifndef listack_h_included

#define listack_h_included

#include 

#include 

typedef

char

elemtype;  

typedef

struct

linknode  

listack;                      //鏈棧型別定義

void

initstack(listack *&s);  

//初始化棧

void

destroystack(listack *&s);  

//銷毀棧

intstacklength(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.h是鏈棧的乙個演算法庫集合,裡面宣告了常用到的各個功能函式。

[cpp]view plain

copy

//鏈棧基本運算函式

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

);  

}  

listack.h.cpp對應

listack.h中宣告的各個功能函式,給出了各個功能函式的實現方法。

[cpp]view plain

copy

#include "listack.h"

intmain()  

printf("\n"

);  

printf("(8)鏈棧為%s\n"

,(stackempty(s)?

"空":

"非空"

));  

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

);  

destroystack(s);  

return

0;  

}  執行結果:

第五周專案二 建立棧鏈演算法庫

檔名稱 monkey choose king.cpp 完成日期 2016年9月29日 版本號 vc 6.0 問題描述 建立棧鏈演算法庫 輸入描述 無 程式輸出 listack.h ifndef listack h included define listack h included typedef ...

第五周 專案二 建立鏈棧演算法庫

all right reserved.檔名稱 listack 完成日期 2017年10月8日 版本號 v1.0 問題描述 建設鏈棧演算法庫 輸入描述 標準函式輸入 程式輸出 標準函式輸出 鏈棧演算法庫採用程式的多檔案組織形式,包括兩個檔案 1.標頭檔案 listack.h,包含定義鏈棧資料結構的 巨...

第五周 專案二 建立棧鏈演算法庫

作 者 武美妤 完成日期 2017年9月28日 版 本 號 v1.0 問題描述 定義鏈棧儲存結構,實現其基本運算,並完成測試。main.cpp include include listack.h int main printf n printf 8 鏈棧為 s n stackempty s 空 非空...