棧的定義及基本操作

棧的定義及基本操作

ID:11636041

大小:274.00 KB

頁數(shù):15頁

時間:2018-07-13

棧的定義及基本操作_第1頁
棧的定義及基本操作_第2頁
棧的定義及基本操作_第3頁
棧的定義及基本操作_第4頁
棧的定義及基本操作_第5頁
資源描述:

《棧的定義及基本操作》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、附件2:北京理工大學(xué)珠海學(xué)院實(shí)驗(yàn)報告ZHUHAICAMPAUSOFBEIJINGINSTITUTEOFTECHNOLOGY班級學(xué)號姓名指導(dǎo)教師成績實(shí)驗(yàn)題目棧的定義及基本操作實(shí)驗(yàn)時間一、實(shí)驗(yàn)?zāi)康摹⒁饬x(1)理解棧的特點(diǎn),掌握棧的定義和基本操作。(2)掌握進(jìn)棧、出棧、取棧頂操作的實(shí)現(xiàn)方法,熟練掌握順序棧的操作及應(yīng)用。(3)棧的應(yīng)用:數(shù)制轉(zhuǎn)換和中綴表達(dá)式轉(zhuǎn)后綴表達(dá)式二、實(shí)驗(yàn)內(nèi)容及要求說明1:學(xué)生在上機(jī)實(shí)驗(yàn)時,需要自己設(shè)計出所涉及到的函數(shù),同時設(shè)計多組輸入數(shù)據(jù)并編寫主程序分別調(diào)用這些函數(shù),調(diào)試程序并對相應(yīng)的輸出作出分析;修改輸入數(shù)據(jù),預(yù)期輸出并驗(yàn)證輸出

2、的結(jié)果,加深對有關(guān)算法的理解。說明2:用數(shù)制的轉(zhuǎn)換算法調(diào)試順序棧的基本操作算法。編寫主程序調(diào)用數(shù)制的轉(zhuǎn)換conversion算法,再由conversion調(diào)用InitStack、StackEmpty、Push、Pop算法。修改輸入數(shù)據(jù),預(yù)期輸出并驗(yàn)證輸出的結(jié)果,加深對Push和Pop算法的理解。說明3:編寫中綴轉(zhuǎn)后綴表達(dá)式程序。具體要求:(1)定義順序棧,完成棧的基本操作:初始化棧、入棧、出棧、取棧頂元素。(參見教材45頁)(2)實(shí)現(xiàn)十進(jìn)制數(shù)與八進(jìn)制數(shù)的轉(zhuǎn)換。(基本任務(wù),必須完成)(3)實(shí)現(xiàn)中綴表達(dá)式轉(zhuǎn)后綴表達(dá)式。由控制臺輸入中綴表達(dá)式,輸出后

3、綴表達(dá)式。(附加任務(wù),鼓勵完成。)三、實(shí)驗(yàn)所涉及的知識點(diǎn)算法四、實(shí)驗(yàn)記錄15(調(diào)試過程及調(diào)試中遇到的問題及解決辦法,其他算法的存在與實(shí)踐等。)五、實(shí)驗(yàn)結(jié)果及分析(所輸入的數(shù)據(jù)及相應(yīng)的運(yùn)行結(jié)果,運(yùn)行結(jié)果要有提示信息,運(yùn)行結(jié)果采用截圖方式給出。)初始界面進(jìn)棧功能15遍歷功能出棧功能判斷是否為空15數(shù)制轉(zhuǎn)換六、總結(jié)與體會(調(diào)試程序的心得與體會,若實(shí)驗(yàn)課上未完成調(diào)試,要認(rèn)真找出錯誤并分析原因等。)七、程序清單(包含注釋)/***************************************通用頭文件**********************

4、*****************/#defineTRUE1#defineFLASE0#defineOK1#defineERROR0#defineINFREASIBLE-1#defineOVERFLOW-215#defineSIZE100//存儲空間初始分配量#defineINCREMENT10//存儲空間分配增量typedefintStatus;typedefintElemType;/*******************************順序棧頭文件*******************************/#include"Da

5、taStructure.h"#include"stdio.h"#include"stdlib.h"#include"string.h"typedefstruct{ElemType*top;//棧頂指針ElemType*base;//棧底指針intstacksize;//當(dāng)前已分配的存儲空間}SqStack;/*****************************************************基本操作的函數(shù)說明1.初始化InitStack(SqStack&s)2.置空ClearStack(SqStack&s)3.銷毀Dest

6、royStack(SqStack&s)4.是否空StackEmpty(SqStacks)155.棧元素數(shù)StackLength(SqStacks)6.取棧頂元素GetTop(SqStacks,ElemType&e)7.進(jìn)棧Push(SqStack&s,ElemTypee)8.出棧Pop(SqStack&s,ElemType&e)9.遍歷StackTraverse(SqStacks)10.數(shù)值轉(zhuǎn)換Conversion(SqStack*s,ElemTypeN)11.中綴轉(zhuǎn)后綴EvaluateExperssion()*****************

7、************************************//***1.初始化***/StatusInitStack(SqStack*s){//構(gòu)造一個空棧道Ss->base=(ElemType*)malloc(SIZE*sizeof(ElemType));if(!s->base)exit(OVERFLOW);s->top=s->base;s->stacksize=SIZE;returnOK;}/***END1.初始化***//***2.置空***/StatusClearStack(SqStack*s){s->top=s->bas

8、e;15returnOK;}/***END2.置空***//***3.銷毀***/StatusDestroyStack(SqStack*s){Clea

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。