




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
課程實驗報告專業(yè)年級2023級軟件工程課程名稱數(shù)據(jù)結(jié)構(gòu)C語言描述指導(dǎo)教師申紅婷學(xué)生姓名王曉霞學(xué)號02實驗日期2023.11.7實驗地點(diǎn)A3篤行樓A棟306實驗成績教務(wù)處制2023年10月07日
實驗項目名稱棧和隊列實驗一.目的:1.使學(xué)生對棧和隊列的順序存儲結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu)、基本操作和應(yīng)用,能通過實驗達(dá)成掌握和應(yīng)用的目的。實驗?zāi)康募耙?guī)定2.規(guī)定學(xué)生對棧和隊列的順序存儲結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu)的基本操作均作驗證性實驗,對棧和列的應(yīng)用各作一個設(shè)計性實驗,并寫出實驗報告。二.規(guī)定:實驗前認(rèn)真預(yù)習(xí)實驗內(nèi)容,實驗時自覺遵守課堂紀(jì)律,嚴(yán)格按操作規(guī)程操作,既要獨(dú)立操作又要與其他同學(xué)配合,在實驗過程中必須按照實驗內(nèi)容認(rèn)真做完實驗,并認(rèn)真填寫相關(guān)實驗報告。實驗內(nèi)容棧和隊列的順序存儲結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu)、基本操作和應(yīng)用。1、閱讀下面程序,將函數(shù)Push和函數(shù)Pop補(bǔ)充完整。規(guī)定輸入元素序列12345e,運(yùn)營結(jié)果如下所示?!鯿TD:\ProgramFiles\CodeBlocks\console_runner.exeMWB|1-createStackInitSuccess?inputdata:<Terninatedbyinputingacharacter>12345e2-Pop&Print54321Pressanykeytocontinue.■W1IO實驗環(huán)節(jié)include<stdio.h>include<malloc.h>defineERROR0defineOKIdefineSTACK_INT_SIZE10/*存儲空間初始分派量*defineSTACKINCREMENT5/*存儲空間分派增量*/typedefintElemType;/*定義元素的類型*/typedefstruct{ElemType*base;E1emType*top;intstacksize;/*當(dāng)前已分派的存儲空間文/}SqStack;/intInitStack(SqStack*S);/*構(gòu)造空棧*/intpush(SqStack*S,E1emTypee);/*入棧*/intPop(SqStack*S,ElemType*e);/*出棧*/intCreateStack(SqStack*S);/*創(chuàng)建棧*/voidPrintstack(SqStack*S);/*出棧并輸出棧中元素文/intInitStack(SqStack*S)(S—>base=(E1emType*)mall0c(STACK_INT_SIZE*sizeof(ElemType));if(!S->base)returnERROR;S->top=S->base;S->stacksize=STACK_INT_SIZE;return0K;}/*InitStack*/intPush(SqStack*S,ElemTypee)(if(S->top—S->base>=S->stacksize)(S—>base=(ElemType*)reaHoc(S->base,(S->stacksize+STACKINCREMENT)*sizeof(E1emType));S—>top=S->base+S->stacksize;S->stacksize+=STACKINCREMENT;}*S->top++=e;return1;}/*Push*/intPop(SqStack*S,ElemType*e){if(S->top!=S->base)(*e=*--S->top;return1;)elsereturn0;}/*Pop*/intCreateStack(SqStack*S){inte;if(InitStack(S))printf("InitSuccess!\nn);else{printf(nInitFai1!\nn);returnErrOr;)printf("inputdata:(Terminatedbyinputingacharacter)\n");while(scanfC%dHz&e))Push(S,e);returnOK;}/'C:\Windows\system32\Debug\fgf.exe"1-createStackInitSuccess?inputdata:(Terminatedbyinputingacharacter)589647e2-Pop&Print746985Pressanykeytocontinue.由于當(dāng)main函數(shù)調(diào)用Printstack(&ss)時,程序轉(zhuǎn)到函數(shù)體中,而在該函數(shù)體內(nèi),又調(diào)用了intPop(SqStack*S,E1emType*e),此函數(shù)的功能是棧S的棧頂元素退棧并返回其值。所以輸入元素序列12345,輸出序列為54321o而這則體現(xiàn)了棧是只允許在表的一端進(jìn)行操作的線性表并且具有先進(jìn)后出的特性。2、在第1題的程序中,編寫一個十進(jìn)制轉(zhuǎn)換為二進(jìn)制的數(shù)制轉(zhuǎn)換算法函數(shù)(規(guī)定}/'C:\Windows\system32\Debug\fgf.exe"1-createStack'C:\Windows\system32\Debug\fgf.exe"1-createStackInitSuccess?inputdata:(Terminatedbyinputingacharacter)589647e2-Pop&Print746985Pressanykeytocontinue.由于當(dāng)main函數(shù)調(diào)用Printstack(&ss)時,程序轉(zhuǎn)到函數(shù)體中,而在該函數(shù)體內(nèi),又調(diào)用了intPop(SqStack*S,E1emType*e),此函數(shù)的功能是棧S的棧頂元素退棧并返回其值。所以輸入元素序列12345,輸出序列為54321o而這則體現(xiàn)了棧是只允許在表的一端進(jìn)行操作的線性表并且具有先進(jìn)后出的特性。2、在第1題的程序中,編寫一個十進(jìn)制轉(zhuǎn)換為二進(jìn)制的數(shù)制轉(zhuǎn)換算法函數(shù)(規(guī)定ElemTypee;while(Pop(S,&e))printf(”%3d”,e);}/*Pop_and_Print*/intmain()(SqStackss;printf("\nl-createStack\n");CreateStack(&ss);printf("\n2-Pop&Print\nn);PrintStack(&ss);printf(n\nH);return0;)算法分析:輸入元素序列12345,為什么輸出序列為54321?體現(xiàn)了棧的什么特性?程序運(yùn)營結(jié)果如下圖所示:運(yùn)用棧來實現(xiàn)),并驗證其對的性。.實現(xiàn)代碼voidconveshen(SqStack*S)|ElemTypen,h;intm=0,k=0;InitStack(S);printf(nInpute1ement\n");scanf("%d",&n);while(n){m++;Push(S,n%2);n=n/2;}whi1e(k<m)(k++;Pop(S,&h);printf("gd”,h);))intmain()(SqStackS;conveshen(&S);Printf(H\n0);return0;)驗證?"C:\Windows\system32\Debug\fgd.exe"Inputelenent2511001Pressanykeytocontinue3、閱讀并運(yùn)營程序,并分析程序功能。#include<stdio.h>include<mal1oc.h>include<string.h>defineM20definee1emtypechartypedefstruct{elemtypestack[M];inttop;}stacknode;voidinit(stacknode*st);voidpush(stacknode*stzelemtypex);voidpop(stacknode*st);voidinit(stacknode*st)(st->toP=0;}voidpush(stacknode*st,elemtyPex)|if($t->top==M)printf("thestackisoverf1ow!\nH);else(st->top=st->top+1;st->stack[st->top]=x;})voidpop(stacknode*st)|if(st->top>0)st->top-elseprintf("StackisEmpty!\n");)intmain(){chars[m];inti;stacknode*sp;printf("ereateaemptystack!\nn);sp=malloc(sizeof(stacknode));init(sP);printf("inputaexpression:\n");gets(s);for(i=0;i<strien(s);i++)(if(s[i]=='(')push(sp,s[i]);if(s[i]==(),)
pop(sp);
}if(sp->top==0)printf(',1(rmatch')'!\n'1);elseprintf'notmateh;)*!\n*,);return0;}輸入:2+((c-d)*6-(f-7)*a)/6運(yùn)營結(jié)果:'C:\Windows\system32\Debug\fgd.exe"createaemptystack?inputaexpression:2+<<c-d>*6-<f-7>*a>/6'('match'〉'?Pressanykeytocontinue.輸入:a-((c~d)*6—(s/3-x)/2運(yùn)營結(jié)果:T■]"C:\Windows\system32\Debug\fgd.exe"createaemptystack?inputaexpression:a—<<c-d>*6—<s/3—x>/2'〈'notmatch'〉'?Pressanykeytocontinue.程序的基本功能:判斷所輸入多項式的左右括號是否配對。實險環(huán)境(-)運(yùn)營環(huán)境說明PC計算機(jī),Windows2023(或WindowsXP)及以上版本,C(二)基礎(chǔ)數(shù)據(jù)設(shè)立及說明計算機(jī),Windows2023(或WindowsXP)及以上版本,C均能正常運(yùn)營。
通過這次實驗,我已經(jīng)基本掌握了本章的學(xué)習(xí)要點(diǎn)和實驗的基本規(guī)定以及目的。第一個程序填空題使我學(xué)會了棧和隊列的結(jié)構(gòu)定義,邏輯特性及其基本操作的使用。而第二個程序分析則使我明白了棧和隊列的順序存儲表達(dá)和鏈?zhǔn)酱鎯Ρ磉_(dá),這使得
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 清遠(yuǎn)防爆負(fù)壓風(fēng)機(jī)施工方案
- 小區(qū)景觀水系改造施工方案
- 配電室漏水處理施工方案
- 2025年成膜材料項目合作計劃書
- 低山丘陵區(qū)隧道施工方案
- 勘察鉆探夜間施工方案
- 資源環(huán)境與新型城鎮(zhèn)化的協(xié)調(diào)發(fā)展策略
- 優(yōu)化勞動力市場機(jī)制的策略及實施路徑
- 2025年中國金屬天花行業(yè)發(fā)展現(xiàn)狀、運(yùn)行格局及投資前景分析報告(智研咨詢)
- 2025年中國低速電動車行業(yè)發(fā)展現(xiàn)狀調(diào)查、競爭格局分析及未來前景預(yù)測報告
- 第二章1:公文寫作的構(gòu)成要素
- 單兵隊列教學(xué)法
- DB14-T 2803-2023 藥品委托儲存配送管理規(guī)范
- 第13課-香港和澳門的回歸
- 人教部編版三年級下冊道德與法治 1、我是獨(dú)特的 教案
- 合同法合同的效力教學(xué)課件
- 檳榔的危害教學(xué)課件
- 第三章生物信息數(shù)據(jù)庫檢索及其應(yīng)用
- 數(shù)字孿生水利工程建設(shè)技術(shù)導(dǎo)則(試行)
- 2023年高考英語真題試題及答案精校版(湖北卷)
- 羅沙司他治療腎性貧血中國專家共識
評論
0/150
提交評論