試驗7棧的順序表示和實現(xiàn)_第1頁
試驗7棧的順序表示和實現(xiàn)_第2頁
試驗7棧的順序表示和實現(xiàn)_第3頁
試驗7棧的順序表示和實現(xiàn)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、浙江大學(xué)城市學(xué)院實驗報告課程名稱數(shù)據(jù)結(jié)構(gòu)叢礎(chǔ)實驗項目名稱實驗七棧的順序表示和實現(xiàn)實驗成績指導(dǎo)老師(簽名)日期一.實驗?zāi)康暮鸵?、掌握棧的存儲結(jié)構(gòu)及其基本操作。學(xué)會定義棧的順序存儲結(jié)構(gòu)及其各種基本 操作的實現(xiàn)。2、掌握棧的后進先出原則。3、通過具體的應(yīng)用實例,進一步熟悉和掌握棧在實際問題中的運用。二實驗內(nèi)容1、設(shè)棧釆用順序存儲結(jié)構(gòu)(用動態(tài)數(shù)組),請編寫棧的各種基本操作的實現(xiàn)函數(shù), 并存放在頭文件test7.h中。同時建立一個驗證操作實現(xiàn)的主函數(shù)文件 test7.cpp,編譯并調(diào)試程序,直到正確運行。提示:(1)棧的動態(tài)數(shù)組順序存儲結(jié)構(gòu)可定義如下:struct Stack /存棧元素/棧頂指示器

2、/棧的最大長度ElemType *stack; int top; int MaxSize; 棧的基本操作可包括:void InitStack (Stack &S); int EmptyStack (Stack S);void Push(Stack &S, ElemType item); ElemType Pop(Stack &S); ElemType Peek(Stack S);void ClearStack (Stack &S);/構(gòu)造一個空棧s若棧S為空棧返回仁否則返回0 元素item進棧棧S的棧頂元素岀棧并返回取棧S的當(dāng)前棧頂元素并返回清除棧s,使成為空棧

3、2應(yīng)用:寫一函數(shù),判斷給定的字符串是否中心對稱。如字符串宀bcbaYabccba” 均為中心對稱,字符串“abcdba”不中心對稱。要求利用test7.h中已實現(xiàn)的有 關(guān)棧的基本操作函數(shù)來實現(xiàn)。請把該函數(shù)添加到文件test7.cpp中的主函數(shù)前, 并在主函數(shù)中添加相應(yīng)語句進行測試。函數(shù)原型如下:int lsReverse(char *s) 判斷字符吊S是否中心對稱,是返回1,否則返回03.填寫實驗報告,實驗報告文件取名為report7.doco4、上傳實驗報告文件report7.doc、源程序文件test7.cpp及test7.h到Ftp服 務(wù)器上(40:5000

4、 )自己的文件夾下。三. 函數(shù)的功能說明及算法思路(包括每個函數(shù)的功能說明,及一些重要函數(shù)的算法實現(xiàn)思路)函數(shù):void InitStack (Stack &S)功能:構(gòu)造一個空棧S思路:采用動態(tài)數(shù)組的方式新建一個大小為10的空棧S函數(shù):int EmptyStack (Stack S)功能:判斷是否為空棧,若棧S為空棧返回1,否則返回0思路:以top值作為判斷條件,當(dāng)top為-1時表明為空棧,其他則為非空棧函數(shù):void Push(Stack &S, ElemType item)功能:元素item進棧思路:首先判斷棧是否已滿,若已滿則動態(tài)申請空間將數(shù)組大小擴大一倍,通過 改變t

5、op的值確定入棧位置并將item入棧函數(shù):ElemType Pop(Stack &S)功能:棧S的棧頂元素出棧并返回思路:以top值減1的方式進行出棧操作,并返回出棧的棧頂元素函數(shù):ElemType Peek(StackS)功能:取棧S的當(dāng)前棧頂元素并返回思路:返回當(dāng)前top所指的棧頂元素值函數(shù):void ClearStack (Stack &S)功能:清除棧s,使成為空棧思路:釋放數(shù)組空間,置top為-1表示空棧,置MaxSize為0表示無空間 函數(shù)(選作):int lsReverse(char *s)功能:判斷字符串S是否中心對稱,是返回1,否則返回0思路:將字符串的前一半

6、字符依次入棧,再全部岀棧并依次與字符串后一半字符 對比,只要有一個不相同,就說明不是中心對稱;全部相同,表明是中心對稱四. 實驗結(jié)果與分析(包括運行結(jié)果截圖、結(jié)果分析等)棧操作部分測試數(shù)據(jù):22 30 16 36 58 80 55結(jié)果分析:棧頂元素為55,正確;3次岀棧元素依次為55 80 58,正確;出棧操 作完成后棧頂元素為36,證明出棧操作成功。選作部分測試數(shù)據(jù):abcba結(jié)果分析:輸出判斷為YES,是中心對稱,正確。棧操作部分測試數(shù)據(jù):42 5-2結(jié)果分析:棧頂元素為正確;2次出棧元素依次為2 5,正確:出棧操作完 成后棧頂元素為42,證明出棧操作成功。選作部分測試數(shù)據(jù):abccba結(jié)果分析:輸出判斷為YES,是中心對稱,正確。|請依次輸入入棧亓素.以結(jié)尾:r2R 36 42 44 65 6S 74 8RI當(dāng)前棧頂冗素為,86進行9次出營作,岀棧元素依次為 80 74 65 已檎后棧頂元素為:65棧清除成功!xxxxoexxxxxxxwM 以、下 為選作部分 請輸入妥判斷回文前字晴出: achilleselihcaNO?Press any key to continue棧操作部分測試數(shù)據(jù):28 36 42 44 65 65 74 80結(jié)果分析:棧頂元素為80,正確;3次出棧元素依次為80 74 65,正確;出棧操 作完成后

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論