




已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
學(xué)院 專業(yè) 班 學(xué)號(hào) 姓名 協(xié)作者_(dá)教師評(píng)定_實(shí)驗(yàn)題目 查詢與排序 綜合實(shí)驗(yàn)評(píng)分表指導(dǎo)教師評(píng)分標(biāo)準(zhǔn)序號(hào)評(píng)分項(xiàng)目評(píng)分標(biāo)準(zhǔn)滿分打分1完成度按要求獨(dú)立完成實(shí)驗(yàn)準(zhǔn)備、程序調(diào)試、實(shí)驗(yàn)報(bào)告撰寫(xiě)。202實(shí)驗(yàn)內(nèi)容(1) 完成功能需求分析、存儲(chǔ)結(jié)構(gòu)設(shè)計(jì);(2) 程序功能完善、可正常運(yùn)行;(3) 測(cè)試數(shù)據(jù)正確,分析正確,結(jié)論正確。303實(shí)驗(yàn)報(bào)告內(nèi)容齊全,符合要求,文理通順,排版美觀。404總結(jié)對(duì)實(shí)驗(yàn)過(guò)程遇到的問(wèn)題能初步獨(dú)立分析,解決后能總結(jié)問(wèn)題原因及解決方法,有心得體會(huì)。10實(shí)驗(yàn)報(bào)告一、 實(shí)驗(yàn)?zāi)康呐c要求1、掌握散列表的構(gòu)造及實(shí)現(xiàn)散列查找;2、掌握堆排序的算法;3、綜合比較各類排序算法的性能。二、 實(shí)驗(yàn)內(nèi)容#includestdio.h#includestdlib.h#includestring.h#includewindows.h#define MAX 20typedef structunsigned long key;int result;char name30;RNode;RNode tMAX,rMAX;int h(unsigned long k) /*散列函數(shù)*/return(k-3109005700)%11);void insert(RNode t,RNode x) /*插入函數(shù),以線性探查方法解決沖突*/int i,j=0;i=h(x.key);while(j0)j+;if(j=MAX) printf(fulln);i=(i+j)%MAX;if(ti.key=0)ti=x;elseif(ti.key=x.key) printf(記錄已存在!n);int search(RNode t,unsigned long k) /*插入函數(shù),以線性探查方法解決沖突*/int i,j=0;i=h(k);while(jMAX)&(t(i+j)%MAX.key!=k)&(t(i+j)%MAX.key!=0)j+;i=(i+j)%MAX;if(ti.key=k)return(i);if(j=MAX)return MAX;elsereturn(-i);void sift(RNode r,int v,int w)int i,j;RNode a;i=v;a=ri;j=2*i+1;while(j=w)if(jrj+1.result)j+;if(a.resultrj.result)ri=rj;i=j;j=2*j+1;else break;ri=a;void sort(RNode r,int n)int i;RNode y;for(i=n/2-1;i=0;i-)sift(r,i,n-1);for(i=n-1;i0;i-)y=r0;r0=ri;ri=y;printf(學(xué)生姓名:%st學(xué)生學(xué)號(hào):%ut學(xué)生成績(jī):%dn,,ri.key,ri.result);sift(r,0,i-1);printf(學(xué)生姓名:%st學(xué)生學(xué)號(hào):%ut學(xué)生成績(jī):%dn,,r0.key,r0.result);int menu() /*菜單函數(shù)*/ int select; printf(nn); printf(n); printf(tt*查找排序?qū)嶒?yàn)*n); printf(tt*n); printf(tt*歡迎進(jìn)入系統(tǒng)*n); printf(tt* menu: *n); printf(tt* 1.查找 *n); printf(tt* 2.排序 *n); printf(tt* 0.退出 *n); printf(tt*n); printf(n); printf(ttt請(qǐng)輸入0-2n ); printf(n); printf(請(qǐng)選擇您所要的操作(選擇(0)退出):); scanf(%d,&select); getchar(); return(select); void main() /*主函數(shù)*/ int i,s,n,select; int j=0,m=0; RNode y; for(i=0;iMAX;i+) ti.key=0; /*初始化*/ for(i=0;i10;i+) /*導(dǎo)入記錄*/ switch(i) case 0: RNode x; x.key=310900*; strcpy(, *); x.result=90; insert(t,x); break; case 1: RNode x; x.key=31090*1; strcpy(, *); x.result=95; insert(t,x); break; case 2: RNode x; x.key=3109005*; strcpy(, *); x.result=92; insert(t,x); break; case 3: RNode x; x.key=31090*; strcpy(, *); x.result=93; insert(t,x); break; case 4: RNode x; x.key=3109005*; strcpy(, *); x.result=94; insert(t,x); break; case 5: RNode x; x.key=310900*; strcpy(, *); x.result=91; insert(t,x); break; case 6: RNode x; x.key=3109005*; strcpy(, *); x.result=96; insert(t,x); break; case 7: RNode x; x.key=310900*; strcpy(, *); x.result=99; insert(t,x); break; case 8: RNode x; x.key=310900*; strcpy(, *); x.result=98; insert(t,x); break; case 9: RNode x; x.key=310900*; strcpy(,*); x.result=97; insert(t,x); break; printf(nnnnnnn); system(cls); loop: printf(nnn); select=menu(); switch(select) case 1: printf(n請(qǐng)輸入要查找的學(xué)生學(xué)號(hào):); scanf(%u,&y.key); s=search(t,y.key); if(s=MAX|s0) printf(not findn); else printf(nn你要查找的學(xué)生信息n); printf(學(xué)生姓名:%st學(xué)生學(xué)號(hào):%u,,ts.key); break; case 2: for(i=0;iMAX;i+) if(ti.key!=0) rj+=ti; m+; printf(排序之前:nn); for(i=0;im;i+) printf(學(xué)生姓名:%st學(xué)生學(xué)號(hào):%ut學(xué)生成績(jī):%dn,,ri.key,ri.result); printf(n排序之后:n); sort(r,m); break; case 0:exit(0); getchar(); goto loop;三、 實(shí)驗(yàn)結(jié)果和數(shù)據(jù)處理(1) 查找數(shù)據(jù)(310900*)(2) 排序四、 總結(jié)這次的課程實(shí)驗(yàn)完成了主控界面,錄入,輸出,排序,查找,結(jié)束界面等功能。在程序調(diào)試過(guò)程之中,我還是個(gè)初學(xué)者,在編寫(xiě)程序的過(guò)程中不斷出現(xiàn)不同狀況的錯(cuò)誤,在修改中不斷發(fā)現(xiàn)自己的問(wèn)題和不足。通過(guò)編譯調(diào)試,程序提示錯(cuò)誤所在,然后我們根據(jù)提示再進(jìn)行修改。從這個(gè)過(guò)程之中,使我多多思考問(wèn)題,不斷摸索,盡量自己發(fā)現(xiàn)錯(cuò)誤所在并加以改正,以便在下次不再犯同類型的錯(cuò)誤。也就是說(shuō)在調(diào)試的過(guò)程中,不斷的學(xué)習(xí),不斷的改進(jìn),提高自身C語(yǔ)言學(xué)習(xí)能力和算法設(shè)計(jì)能力。五、 問(wèn)題與討論1、 分析你所構(gòu)造散列表的查找成功的平均查找長(zhǎng)度?01234567891033
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 運(yùn)營(yíng)咨詢顧問(wèn)合同協(xié)議
- 月結(jié)貨款協(xié)議書(shū)
- 汽車分伙協(xié)議書(shū)
- 《晚期肺癌持續(xù)治療策略》課件
- 遺產(chǎn)協(xié)議書(shū)范本
- 軟件制圖交易合同協(xié)議
- 手車位買賣協(xié)議書(shū)
- 舊船買賣協(xié)議書(shū)
- 追償糾紛和解協(xié)議書(shū)模板
- 教育咨詢員服務(wù)合同書(shū)
- 福州一號(hào)線盾構(gòu)法地鐵工程整體施工組織設(shè)計(jì)
- 公務(wù)員考試-經(jīng)濟(jì)基礎(chǔ)知識(shí)模擬題-計(jì)量經(jīng)濟(jì)學(xué)-協(xié)整與誤差修正模型
- 資源與運(yùn)營(yíng)管理-第一次形考任務(wù)-國(guó)開(kāi)-參考資料
- 五年級(jí)下冊(cè)數(shù)學(xué)教案 - 8.1《復(fù)式條形統(tǒng)計(jì)圖》 北師大版
- 2025年二建《建筑工程管理與實(shí)務(wù)》考前必刷必練題庫(kù)500題(含真題、重點(diǎn)題)
- 2025云南師范大學(xué)輔導(dǎo)員考試題庫(kù)
- 學(xué)生健康檔案管理制度
- 4.2《 依法履行義務(wù)》教學(xué)設(shè)計(jì) -2024-2025學(xué)年統(tǒng)編版道德與法治八年級(jí)下冊(cè)
- 學(xué)生常見(jiàn)病預(yù)防
- 中國(guó)糖尿病防治指南(2024版)解讀
- 協(xié)力安全管理
評(píng)論
0/150
提交評(píng)論