第6周 專案1 建立順序棧演算法庫

2021-07-05 14:43:22 字數 1750 閱讀 3193

檔案及**:

(1)標頭檔案:sqstack.h,包含定義順序棧資料結構的**、巨集定義、要實現演算法的函式的宣告;

/* 

*檔名稱:test.cpp

*作 者:焦夢真

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

*版 本 號;v1.0

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

*輸入描述:無

*程式輸出:

*/ #ifndef sqstack_h_included

#define sqstack_h_included

#define maxsize 100

typedef char elemtype;

typedef struct

sqstack; //順序棧型別定義

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

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

bool stackempty(sqstack *s); //棧是否為空

int stacklength(sqstack *s); //返回棧中元素個數——棧長度

bool push(sqstack *&s,elemtype e); //入棧

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

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

void dispstack(sqstack *s); //輸出棧

#endif // sqstack_h_included

(2)原始檔:sqstack.cpp,包含實現各種演算法的函式的定義;

#include #include #include "sqstack.h"

void initstack(sqstack *&s)

void destroystack(sqstack *&s)

int stacklength(sqstack *s) //返回棧中元素個數——棧長度

bool stackempty(sqstack *s)

bool push(sqstack *&s,elemtype e)

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

bool gettop(sqstack *s,elemtype &e)

void dispstack(sqstack *s) //輸出棧

(3)主函式:main.cpp,完成測試工作;

#include #include "sqstack.h"

int main()

printf("\n");

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

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

destroystack(s);

return 0;

}

執行結果:

知識點總結:

掌握棧的定義,順序儲存結構及其基本運算。

學習心得:

對順序棧演算法庫的建立依靠老師的**建立起來,自己掌握還得繼續努力。

第6周 專案1 建立順序棧演算法庫

問題及 main.cpp 中 如下 檔名稱 main.cpp 作 者 徐群壯 完成日期 2015.10.6 版 本 號 v1.0 問題描述 定義順序棧儲存結構,實現其基本運算,並完成測試。1 標頭檔案sqstack.h中定義資料結構並宣告用於完成基本運算的函式。2 在sqstack.cpp中實現這些...

第6周 專案1 建立順序棧演算法庫

檔名稱 1.pp 完成日期 2015年10月9日 問題描述 建立順序棧演算法庫 include include define maxsize 100 typedef char elemtype typedef struct sqstack 順序棧型別定義 void initstack sqstack...

第6周專案1 建立順序棧演算法庫

檔名稱 第6周專案1 建立順序棧演算法庫.cpp 作 者 孫翰文 完成日期 2015年10月9日 版 本 號 v1.0 問題描述 定義順序棧儲存結構,實現其基本運算,並完成測試。輸入描述 若干資料。程式輸出 各個步驟的文字敘述及其資料的輸出。1 標頭檔案 include include define...