國家開放大學《數據結構》課程實驗報告(實驗6——查找)參考答案_第1頁
國家開放大學《數據結構》課程實驗報告(實驗6——查找)參考答案_第2頁
國家開放大學《數據結構》課程實驗報告(實驗6——查找)參考答案_第3頁
國家開放大學《數據結構》課程實驗報告(實驗6——查找)參考答案_第4頁
全文預覽已結束

下載本文檔

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

文檔簡介

1、數據結構課程實驗報告(實驗6查找)學生姓名學號班級指導老師實驗名稱實驗成績實驗報告實驗概述實驗目的:某班學生成績信息表中,每個學生的記錄已按平均成績由高到低排好序,后來發現某個學生的成績沒有登記到信息表中,使用折半查找法把該同學的記錄插入到信息表中,使信息表中的記錄仍按平均成績有序。實驗要求:(1)建立現有學生信息表,平均成績已有序。(2)輸入插入學生的記錄信息。(3)用折半查找找到插入位置,并插入記錄。設計思路:(1)用結構數組存儲成績信息表。(2)對記錄中的平均成績進行折半查找并插入。實驗內容程序代碼:/*實驗5.1折半查找*/#include#defineN10/*定義學生信息類型*/t

2、ypedefstructcharname10;/*姓名*/floatavg;/*平均成績*/Student;intBinSort(Student*a,intn,Studentx);/*按平均成績進行折半排序*/voidDisplay(Student*a,intn);/*顯示學生信息表*/voidmain()StudentaN=”Zhao”,95,”Qian”,90,”Sun”,86,”Li”,75,x;intn=4;/*學生人數,即表長*/printf(”初始%d位學生的信息表如下:n,n);Display(a,n);printf(nn);printf(”請輸入學生姓名:);scanf(%s,

3、);printf(請輸入平均成績:);scanf(%f,&x.avg);n=BinSort(a,n,x);printf(n折半排序后%d位學生的信息表如下:n,n);Display(a,n);printf(”n”);/*按平均成績進行折半查找并插入新記錄,使表仍按平均成績降序排列*/intBinSort(Student*a,intn,Studentx)intlow,high,mid;inti,j;/*折半查找*/low=0;high=n-1;while(lowamid.avg)high=mid-1;/*取刖半查找區間*/elselow=mid+1;/*取后半查找區間*/if(low

4、high)i=low;/*查找失敗,記錄插入位置i*/*在下標i前插入*/for(j=n-1;j=i;j-)aj+1=aj;ai=x;n+;returnn;/*顯示學生信息表*/voidDisplay(Student*a,intn)inti;for(i=0;in;i+)printf(n%-10s%-6.1f,,ai.avg);實驗結果:實驗小結I旦h探oQSnSunLi勿始4位學生的信息表如下扣半排序后位學生的信息、表如下【生姓名:Wang折半排序后5位學生的信息責如下:辛籬爲:Sa9折半查找適用于順序存儲的有序表,可提高查找速度。如果插入的學生平均成績在原表中有相同值時,本實驗中采用其后面插入。如測試中輸入Wang86,該記錄則插入到Sun86的后面。55.S86-S8875-0keytocontinue尿C:DncuMentssuidSettinsXAdiiiiist

溫馨提示

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

評論

0/150

提交評論