實驗三-順序棧操作實現(xiàn)_第1頁
實驗三-順序棧操作實現(xiàn)_第2頁
實驗三-順序棧操作實現(xiàn)_第3頁
實驗三-順序棧操作實現(xiàn)_第4頁
實驗三-順序棧操作實現(xiàn)_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

實驗三順序棧操作實現(xiàn)實驗日期:2017年4月1日實驗目的及要求1.熟練掌握棧的結構,以及這種數(shù)據(jù)結構的特點;2.能夠在兩種存儲結構上實現(xiàn)棧的基本運算,特別注意棧滿和??盏呐袛鄺l件及描述方法。實驗內容已知順序棧的類型定義如下:#defineMAX100typedefchardatatype;typedefstruct{datatypedata[MAX];inttop;}SeqStack,*SeqStackptr;任務1.題目要求任務一:創(chuàng)建自定義頭文件seqStack.h,包含順序棧的數(shù)據(jù)類型定義及基本操作函數(shù),需定義的基本操作如下:(1)voidError(char*s);/*自定義錯誤處理函數(shù)*/(2)voidInitStack(SeqStackptrsp);/*初始化?!每諚?/(3)intEmptyStack(SeqStackptrsp);/*判棧空*/(4)intFullStack(SeqStackptrsp);/*判棧滿*/(5)voidPush(SeqStackptrsp,datatypex);/*進棧(元素壓入棧頂)*/(6)datatypePop(SeqStackptrsp);/*出棧(元素從棧頂彈出)*/(7)datatypeGetTop(SeqStackptrsp);/*讀棧頂元素(不出棧)*/(8)intCount(SeqStackptrsp);/*計算棧中元素個數(shù)*/任務二:創(chuàng)建一個新的程序文件sy13.cpp,請調用seqStack.h提供的順序棧操作的函數(shù)完成把源文本文件中的所有十進制數(shù)轉換成相應的指定進制的數(shù)值存于新的文本文件中,要求定義如下函數(shù):(1)voidTrans(intn,intr,charstr[])功能:把n整數(shù)轉換為r進制的值并存于str數(shù)組中;(2)voidTransFile(intr,charstrin[],charstrout[]);功能:把strin文件中十進制整數(shù)轉換為r進制的值并存于文件strout中。其中strin和strout字符數(shù)組中分別存放源文件名和目標文件名。(思路:1.以只讀方式打開strin中的文件,以只寫方式打開存于strout中的文件2.循環(huán)讀取strin文件(1)讀一個整數(shù)到變量num中(2)調用Trans函數(shù)將num轉換為r進制的字符串result(3)將字符串result寫入到文件strout中3.關閉strin文件,strout文件。)(3)main函數(shù)中準備指定進制r的值,源文件名和目標文件名,調用TransFile函數(shù)完成相應要求。2.請回答下列問題(1)棧是限定在表的一端進行插入或刪除操作的線性表,其操作原則是后進先出。(2)一個不帶表頭結點鏈棧的棧頂指針是top,每個結點包含值域data和指針域next,判斷??盏臈l件為top==NULL,當p所指向的結點入棧,首先執(zhí)行判斷棧是否滿,然后執(zhí)行p->data[p->top++]=x操作。(3)設數(shù)組S[100]存儲一個順序棧的元素,變量top指示下一個入棧元素在數(shù)組中的下標位置,棧為空的條件是top-1==NULL,棧為滿的條件是top>=100。3.seqStack.h及sy13.cpp源程序清單(含必要的注釋)SeqStack.h:#include<stdio.h>#include<stdlib.h>#defineMAX100typedefchardatatype;typedefstruct{ datatypedata[MAX]; inttop;}SeqStack,*SeqStackptr;SeqStacks;SeqStackptrsp;voidError(char*s);/*自定義錯誤處理函數(shù)*/voidInitStack(SeqStackptrsp);/*初始化?!每諚?/intEmptyStack(SeqStackptrsp);/*判棧空*/intFullStack(SeqStackptrsp);/*判棧滿*/voidPush(SeqStackptrsp,datatypex);/*進棧(元素壓入棧頂)*/datatypePop(SeqStackptrsp);/*出棧(元素從棧頂彈出)*/datatypeGetTop(SeqStac

溫馨提示

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

最新文檔

評論

0/150

提交評論