版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《數(shù)據(jù)結(jié)構(gòu)試驗》試驗題目及試驗匯報模板試驗一客房管理(鏈表試驗)實現(xiàn)功效:采取結(jié)構(gòu)化程序設(shè)計思想,編程實現(xiàn)客房管理程序各個功效函數(shù),從而熟練掌握單鏈表創(chuàng)建、輸出、查找、修改、插入、刪除、排序和復(fù)雜綜合應(yīng)用等操作算法實現(xiàn)。以帶表頭結(jié)點單鏈表為存放結(jié)構(gòu),實現(xiàn)以下客房管理設(shè)計要求。試驗機時:8設(shè)計要求:#include<stdio.h>#include<stdlib.h>#include<string.h>//定義客房鏈表結(jié)點結(jié)構(gòu)typedefstructHNode { char roomN[7]; //客房名稱 floatPrice; //標(biāo)準(zhǔn)價格 floatPriceL; //入住價格(默認(rèn)值=標(biāo)準(zhǔn)價格*80%) int Beds; //床位數(shù)Beds char State[5]; //入住狀態(tài)(值域:"空閑"、"入住"、"預(yù)訂",默認(rèn)值為"空閑") structHNode*next; //指針域 }Hotel,*HLink;(1)實現(xiàn)創(chuàng)建客房信息鏈表函數(shù)voidBuild(HLink&H),輸入(客房名稱、標(biāo)準(zhǔn)價格、床位數(shù)),同時修改入住價格、入住狀態(tài)為默認(rèn)值,即入住價格=標(biāo)準(zhǔn)價格*80%,入住狀態(tài)為”空閑”(提醒:用strcpy()字符串拷貝函數(shù))。為了提升程序調(diào)試效率,要求:用文件操作來輸入客房信息(客房名稱、標(biāo)準(zhǔn)價格、床位數(shù));(2)實現(xiàn)輸出客房信息函數(shù)voidExp(HLinkH),輸出全部客房客房名稱、標(biāo)準(zhǔn)價格、入住價格、床位數(shù)、入住狀態(tài);(3)函數(shù)intFind(HLink&H,char*roomN),查找房間名稱為roomN客房。假如找到,則返回該客房在鏈表中位置序號(>=1),不然返回0。提醒:用strcmp()字符串比較函數(shù);(4)實現(xiàn)函數(shù)voidupdateH(HLink&H,intbeds,char*state),將床位數(shù)為beds客房入住狀態(tài)改為state。提醒:用strcpy()字符串拷貝函數(shù);(5)函數(shù)voidAdd(HLink&H),將該鏈表中未入住客房入住價格均加價20%;(6)求出入住價格最高客房函數(shù)HLinkFirstH(HLink&H),該函數(shù)內(nèi)return語句返回入住價格最高客房結(jié)點指針,返回前將該結(jié)點在鏈表中刪除;(7)函數(shù)voidMoveK1(HLink&H,intk),將單鏈表中倒數(shù)第k個結(jié)點移到第一個結(jié)點位置,注意:禁止采取先計算鏈表長度n再減k(即n-k)方法;(8)函數(shù)voidReverseN2(HLink&H),將單鏈表正中間位置結(jié)點之后全部結(jié)點倒置功效,注意:禁止采取先計算鏈表長度n再除以2(即n/2)方法;(9)函數(shù)voidSortPriceL(HLink&H),按照客房(入住價格,客房名稱)升序排序;(10)函數(shù)voidupBed(HLink&H,intbeds),創(chuàng)建一個【床位數(shù)為beds新結(jié)點】(還需輸入:客房名稱、標(biāo)準(zhǔn)價格等信息),使鏈表形態(tài)為:【頭結(jié)點】->【床位數(shù)>beds結(jié)點】->【床位數(shù)為beds新結(jié)點】->【床位數(shù)<=beds結(jié)點】,要求【超出beds結(jié)點】和【不超出beds結(jié)點】這兩段鏈表中結(jié)點保持原來前后相對次序;(11)主函數(shù)main()調(diào)用以上函數(shù),(3)若返回值>=1則輸出該客房在鏈表中位置序號,不然輸出該客房不存在;輸出(4)~(10)處理后鏈表內(nèi)容,其中(6)還要輸出入住價格最高客房信息??赡苡玫胶瘮?shù):從文件中讀取客房數(shù)據(jù):fscanf(文件指針,"%s%f,%d",p->roomN,&p->Price,&p->Beds);輸出客房數(shù)據(jù):printf("%s%8.1f%8.1f%6d%8s\n",p->roomN,p->Price,p->PriceL,p->Beds,p->State);字符串賦值函數(shù):char*strcpy(char*,constchar*);字符串比較函數(shù):intstrcmp(constchar*,constchar*)試驗二串模式匹配算法(串試驗)實現(xiàn)功效:從主串中第K個字符起,求出子串在主串中首次出現(xiàn)位置,即模式匹配或串匹配。要求用三種模式匹配算法分別實現(xiàn):樸素模式匹配算法(BF算法)KMP改進(jìn)算法(Next[])KMP改進(jìn)算法(NextVal[])試驗機時:8設(shè)計要求:首先設(shè)計一個含有多個菜單項主控菜單程序,然后再為這些菜單項配上對應(yīng)功效。程序運行后,給出5個菜單項內(nèi)容和輸入提醒:1.輸入主串、子串和匹配起始位置2.樸素模式匹配算法3.KMP改進(jìn)算法(Next[])4.KMP改進(jìn)算法(NextVal[])0.退出管理系統(tǒng)請選擇0—4:菜單設(shè)計要求:使用數(shù)字0—4來選擇菜單項,其它輸入則不起作用。輸出結(jié)果要求:輸出各趟匹配詳細(xì)過程(其中3、4,首先輸出Next[]或者NextVal[]各元素數(shù)值),然后輸出匹配總趟數(shù)、單個字符比較次數(shù)、匹配成功時位置序號或者匹配失敗提醒信息。試驗三二叉樹遍歷與路徑查找(二叉樹試驗)實現(xiàn)功效:建立二叉樹存放結(jié)構(gòu)、求二叉樹先序遍歷、求二叉樹中序遍歷、求二叉樹后序遍歷、求二叉樹層次遍歷、求根到給定結(jié)點路徑。試驗機時:8設(shè)計要求:數(shù)據(jù)結(jié)構(gòu):typedefstructnode{ chardata; //數(shù)據(jù)域 structnode*lchild,*rchild;//左右孩子指針}BinTNode,*BinTree;//樹中結(jié)點類型首先設(shè)計一個含有多個菜單項主控菜單程序,然后再為這些菜單項配上對應(yīng)功效。程序運行后,給出以下菜單項內(nèi)容和輸入提醒,使用數(shù)字0—6來選擇菜單項,其它輸入則不起作用:1.建立二叉樹存放結(jié)構(gòu)2.求二叉樹先序遍歷3.求二叉樹中序遍歷4.求二叉樹后序遍歷5.求二叉樹層次遍歷6.求給定結(jié)點路徑0.退出系統(tǒng)請選擇0—6:
數(shù)據(jù)結(jié)構(gòu)試驗匯報要求提交時間最終一次上機時提交。提交內(nèi)容試驗匯報紙質(zhì)版(A4紙,試驗匯報格式詳見下頁)試驗一客房管理(鏈表試驗)試驗二串模式匹配算法(串試驗)試驗三二叉樹遍歷與路徑查找(二叉樹試驗)試驗匯報電子版將以下文件壓縮成[選課序號]_[姓名].rar文件。試驗一源程序,文件名為[選課序號]_[姓名]_試驗1.cpp,數(shù)據(jù)文件(.txt)試驗二源程序,文件名為[選課序號]_[姓名]_試驗2.cpp試驗三源程序,文件名為[選課序號]_[姓名]_試驗3.cpp--1學(xué)期《數(shù)據(jù)結(jié)構(gòu)試驗》試驗匯報選課序號:班級:學(xué)號:姓名:指導(dǎo)教師:成績:年月日目錄1.試驗?zāi)繕?biāo) 12.試驗內(nèi)容 12.1試驗一客房管理(鏈表試驗) 12.2試驗二串模式匹配算法(串試驗) 22.3試驗三二叉樹遍歷與路徑查找(二叉樹試驗) 33.試驗步驟 33.1試驗一客房管理(鏈表試驗) 33.1.1程序流程圖 33.1.1源程序(客房管理程序腳本必須手寫) 33.1.1運行結(jié)果截圖 43.2試驗二串模式匹配算法(串試驗) 43.2.1程序流程圖 43.2.1源程序 43.2.1運行結(jié)果截圖 43.3試驗三二叉樹遍歷與路徑查找(二叉樹試驗) 43.3.1程序流程圖 43.3.1源程序 43.3.1運行結(jié)果截圖 44.總結(jié)與體會 41.試驗?zāi)繕?biāo)熟練掌握單鏈表創(chuàng)建、插入、刪除和其它綜合應(yīng)用等操作算法實現(xiàn);熟練掌握串創(chuàng)建、模式匹配等操作算法實現(xiàn);熟練掌握二叉樹遍歷與路徑查找等應(yīng)用算法實現(xiàn)。2.試驗內(nèi)容2.1試驗一客房管理(鏈表試驗)實現(xiàn)功效:采取結(jié)構(gòu)化程序設(shè)計思想,編程實現(xiàn)客房管理程序各個功效函數(shù),從而熟練掌握單鏈表創(chuàng)建、輸出、查找、修改、插入、刪除、排序和復(fù)雜綜合應(yīng)用等操作算法實現(xiàn)。以帶表頭結(jié)點單鏈表為存放結(jié)構(gòu),實現(xiàn)以下客房管理設(shè)計要求。試驗機時:8設(shè)計要求:#include<stdio.h>#include<stdlib.h>#include<string.h>//定義客房鏈表結(jié)點結(jié)構(gòu)typedefstructHNode { char roomN[7]; //客房名稱 floatPrice; //標(biāo)準(zhǔn)價格 floatPriceL; //入住價格(默認(rèn)值=標(biāo)準(zhǔn)價格*80%) int Beds; //床位數(shù)Beds char State[5]; //入住狀態(tài)(值域:"空閑"、"入住"、"預(yù)訂",默認(rèn)值為"空閑") structHNode*next; //指針域 }Hotel,*HLink;(1)實現(xiàn)創(chuàng)建客房信息鏈表函數(shù)voidBuild(HLink&H),輸入(客房名稱、標(biāo)準(zhǔn)價格、床位數(shù)),同時修改入住價格、入住狀態(tài)為默認(rèn)值,即入住價格=標(biāo)準(zhǔn)價格*80%,入住狀態(tài)為”空閑”(提醒:用strcpy()字符串拷貝函數(shù))。為了提升程序調(diào)試效率,要求:用文件操作來輸入客房信息(客房名稱、標(biāo)準(zhǔn)價格、床位數(shù));(2)實現(xiàn)輸出客房信息函數(shù)voidExp(HLinkH),輸出全部客房客房名稱、標(biāo)準(zhǔn)價格、入住價格、床位數(shù)、入住狀態(tài);(3)函數(shù)intFind(HLink&H,char*roomN),查找房間名稱為roomN客房。假如找到,則返回該客房在鏈表中位置序號(>=1),不然返回0。提醒:用strcmp()字符串比較函數(shù);(4)實現(xiàn)函數(shù)voidupdateH(HLink&H,intbeds,char*state),將床位數(shù)為beds客房入住狀態(tài)改為state。提醒:用strcpy()字符串拷貝函數(shù);(5)函數(shù)voidAdd(HLink&H),將該鏈表中未入住客房入住價格均加價20%;(6)求出入住價格最高客房函數(shù)HLinkFirstH(HLink&H),該函數(shù)內(nèi)return語句返回入住價格最高客房結(jié)點指針,返回前將該結(jié)點在鏈表中刪除;(7)函數(shù)voidMoveK1(HLink&H,intk),將單鏈表中倒數(shù)第k個結(jié)點移到第一個結(jié)點位置,注意:禁止采取先計算鏈表長度n再減k(即n-k)方法;(8)函數(shù)voidReverseN2(HLink&H),將單鏈表正中間位置結(jié)點之后全部結(jié)點倒置功效,注意:禁止采取先計算鏈表長度n再除以2(即n/2)方法;(9)函數(shù)voidSortPriceL(HLink&H),按照客房(入住價格,客房名稱)升序排序;(10)函數(shù)voidupBed(HLink&H,intbeds),創(chuàng)建一個【床位數(shù)為beds新結(jié)點】(還需輸入:客房名稱、標(biāo)準(zhǔn)價格等信息),使鏈表形態(tài)為:【頭結(jié)點】->【床位數(shù)>beds結(jié)點】->【床位數(shù)為beds新結(jié)點】->【床位數(shù)<=beds結(jié)點】,要求【超出beds結(jié)點】和【不超出beds結(jié)點】這兩段鏈表中結(jié)點保持原來前后相對次序;(11)主函數(shù)main()調(diào)用以上函數(shù),(3)若返回值>=1則輸出該客房在鏈表中位置序號,不然輸出該客房不存在;輸出(4)~(10)處理后鏈表內(nèi)容,其中(6)還要輸出入住價格最高客房信息。可能用到函數(shù):從文件中讀取客房數(shù)據(jù):fscanf(文件指針,"%s%f,%d",p->roomN,&p->Price,&p->Beds);輸出客房數(shù)據(jù):printf("%s%8.1f%8.1f%6d%8s\n",p->roomN,p->Price,p->PriceL,p->Beds,p->State);字符串賦值函數(shù):char*strcpy(char*,constchar*);字符串比較函數(shù):intstrcmp(constchar*,constchar*)2.2試驗二串模式匹配算法(串試驗)實現(xiàn)功效:從主串中第K個字符起,求出子串在主串中首次出現(xiàn)位置,即模式匹配或串匹配。要求用三種模式匹配算法分別實現(xiàn):樸素模式匹配算法(BF算法)KMP改進(jìn)算法(Next[])KMP改進(jìn)算法(NextVal[])試驗機時:8設(shè)計要求:首先設(shè)計一個含有多個菜單項主控菜單程序,然后再為這些菜單項配上對應(yīng)功效。程序運行后,給出5個菜單項內(nèi)容和輸入提醒:1.輸入主串、子串和匹配起始位置2.樸素模式匹配算法3.KMP改進(jìn)算法(Next[])4.KMP改進(jìn)算法(NextVal[])0.退出管理系統(tǒng)請選擇0—4:菜單設(shè)計要求:使用數(shù)字0—4來選擇菜單項,其它輸
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 豐子愷楊柳課件
- 孟子成語 課件
- 第二單元(復(fù)習(xí))-二年級語文上冊單元復(fù)習(xí)(統(tǒng)編版)
- 西京學(xué)院《融媒體新聞編輯》2023-2024學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《劇本創(chuàng)作》2021-2022學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《工程定額原理》2021-2022學(xué)年第一學(xué)期期末試卷
- 西華師范大學(xué)《語文學(xué)科教學(xué)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 《畫世界名畫》少兒美術(shù)教育繪畫課件創(chuàng)意教程教案
- 西華師范大學(xué)《數(shù)學(xué)物理方法》2021-2022學(xué)年第一學(xué)期期末試卷
- 西華師范大學(xué)《軟件及應(yīng)用》2022-2023學(xué)年期末試卷
- 田麥久《運動訓(xùn)練學(xué)》(第2版)配套題庫(含考研真題)
- 2016出資證明書(貨幣出資)(共1頁)
- 小學(xué)廣播體操比賽評分細(xì)則、評分表
- 20以內(nèi)加減法混合口算練習(xí)題(每頁100題)
- 商務(wù)英語教學(xué)課件:unit5 Travel and Visits
- 民航概論課程標(biāo)準(zhǔn)
- MACD二次綠柱縮短的選股公式.doc
- 尾礦庫閉庫工程施工組織設(shè)計方案范本
- 化工企業(yè)事故案例分析(中毒事故)
- 兒童日常習(xí)慣培養(yǎng)積分表
- 2021年勞資科三年工作總結(jié)
評論
0/150
提交評論