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

2021-08-09 11:22:19 字數 2090 閱讀 9800

/*

檔名稱:sqstack

作 者:劉思源

完成日期:2023年10月13日

版 本 號:12.11

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

輸入描述:無

輸出描述:輸出棧長度 ,輸出從棧頂到棧底元素 ,並輸出出棧序列 .

*/[cpp]view plain

copy

#ifndef listack_h_included

#define listack_h_included

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

[cpp]view plain

copy

#include 

#include 

#include "sqstack.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"

);  

}  

[cpp]view plain

copy

#include 

#include "sqstack.h"

intmain()  

printf("\n"

);  

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

,(stackempty(s)?

"空":

"非空"

));  

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

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

問題及 檔名稱 1.cpp 完成日期 2016年9月24日 版本號 v1.0 問題描述 定義鏈棧儲存結構,實現其基本運算,並完成測試。輸入描述 無 程式輸出 鏈棧基本運算的實現結果 listack.h typedef char elemtype typedef struct linknode lis...

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

問題 檔名稱 第5周專案2 建立鏈棧演算法庫.cpp 作 者 楊雅鑫 完成日期 2016年9月27日 版 本 號 v1.0 問題描述 定義鏈棧儲存結構,實現其基本運算,並完成測試。輸入描述 若干資料。程式輸出 各個步驟的文字敘述及其資料的輸出。標頭檔案listack.h ifndef listack...

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

檔名稱 wu.cpp 作 者 武昊 完成日期 2016年9月29日 版 本 號 v1.0 問題描述 定義鏈棧儲存結構,實現其基本運算,並完成測試。輸入描述 無 程式輸出 測試資料 lintack.h include include typedef char elemtype typedef stru...