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

2021-07-05 15:08:52 字數 2080 閱讀 4317

問題及**:

main.cpp 中**如下:

/*

*檔名稱:main.cpp

*作 者:徐群壯

*完成日期:2015.10.6

*版 本 號:v1.0

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

1、標頭檔案sqstack.h中定義資料結構並宣告用於完成基本運算的函式。

2、在sqstack.cpp中實現這些函式

3、在main函式中完成測試,包括如下內容:

(1)初始化棧s

(2)判斷s棧是否為空

(3)依次進棧元素a,b,c,d,e

(4)判斷s棧是否為空

(5)輸出棧長度

(6)輸出從棧頂到棧底元素

(7)出棧,並輸出出棧序列

(8)判斷s棧是否為空

(9)釋放棧

*輸入描述:

*程式輸出:

*/#include #include "sqstack.h"

int main()

printf("\n");

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

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

destroystack(s);

return 0;

}

sqstack.pp中**如下:

#include #include #include "sqstack.h"

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) //輸出棧

sqstack.h中**如下:

#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); //輸出棧aa

#endif // sqstack_h_included

執行結果:

知識點總結及學習心得:一開始在編寫push函式。對top++不理解,認為前面並沒有對top賦值,又何來++呢?然後發現在初始化棧的時候就已經賦值s->top=-1。

使用棧可以處理一些特殊先進後出的問題。對於大二的我們。在呼叫函式時不僅僅要關注它的結果。更需要**它的執行機制。在函式的多重呼叫中,以及括號的匹配都是運用了棧,才能準確找到先前的點。

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

檔案及 1 標頭檔案 sqstack.h,包含定義順序棧資料結構的 巨集定義 要實現演算法的函式的宣告 檔名稱 test.cpp 作 者 焦夢真 完成日期 2015年10月5日 版 本 號 v1.0 問題描述 定義順序棧儲存結構,實現其基本運算,並完成測試。輸入描述 無 程式輸出 ifndef sq...

第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...