版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告PAGE5數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告姓名:顧云康學(xué)號(hào):E1114300指導(dǎo)老師:王愛(ài)平日期:2013.10.8目錄1課程設(shè)計(jì)的目的 32需求分析 33課程設(shè)計(jì)報(bào)告內(nèi)容 33.1概要設(shè)計(jì) 33.2詳細(xì)設(shè)計(jì) 43.3調(diào)試分析 124總結(jié) 135程序清單 146參考文獻(xiàn) 147程序運(yùn)行結(jié)果 14附錄 15 clock_tbegin3,end3;doublecost3;begin3=clock(); insertSort(number3,MAX); end3=clock(); cost3=(double)(end3-begin3)/CLOCKS_PER_SEC; //梳排序并計(jì)算時(shí)間 clock_tbegin4,end4;doublecost4;begin4=clock(); combsort(number4,MAX); end4=clock(); cost4=(double)(end4-begin4)/CLOCKS_PER_SEC;for(intj=0;j<MAX;j++) { printf("%d",number1[j]); }printf("\n");printf("排序完成!\n");printf("快速排序耗時(shí):%lfseconds\n",cost1);printf("冒泡排序耗時(shí):%lfseconds\n",cost2);printf("插入排序耗時(shí):%lfseconds\n",cost3);printf("梳排序耗時(shí):%lfseconds\n",cost4); return0;}插入排序函數(shù):voidinsertSort(inta[],intlen){ inti,j,temp; for(i=1;i<len;i++) { temp=a[i]; for(j=i-1;j>=0;j--) { if(a[j]>temp) { a[j+1]=a[j]; }else { break; } } a[j+1]=temp; }}冒泡排序函數(shù):voidBubble(inta[],intlen){ intlength=len;inti=0;intj=0;for(;i<len;i++) { for(;j<length;j++) { if(a[j]>a[j+1]) { inttemp=a[j];a[j]=a[j+1];a[j+1]=temp; } }length--;j=0; }}快速排序函數(shù):intpartions(intl[],intlow,inthigh){ intprvotkey=l[low];l[0]=l[low];while(low<high) { while(low<high&&l[high]>=prvotkey) --high;l[low]=l[high];while(low<high&&l[low]<=prvotkey) ++low;l[high]=l[low]; }l[low]=l[0];returnlow;}voidqsort(intl[],intlow,inthigh){ intprvotloc;if(low<high) { prvotloc=partions(l,low,high);//將第一次排序的結(jié)果作為樞軸qsort(l,low,prvotloc-1);//遞歸調(diào)用排序由low到prvotloc-1qsort(l,prvotloc+1,high);//遞歸調(diào)用排序由prvotloc+1到high }}voidquicksort(intl[],intn){ qsort(l,1,n);//第一個(gè)作為樞軸,從第一個(gè)排到第n個(gè)}梳排序函數(shù):voidcombsort(inta[],intn){ floatshrink_factor=1.3;intgap=n,swapped=1,swap,i;while((gap>1)||swapped) { if(gap>1)gap=gap/shrink_factor;swapped=0;i=0;while((gap+i)<n) { if(a[i]-a[i+gap]>0) { swap=a[i];a[i]=a[i+gap];a[i+gap]=swap;swapped=1; }++i; } }}3.3調(diào)試分析(1)使用隨機(jī)數(shù)產(chǎn)生函數(shù),產(chǎn)生40000個(gè)隨機(jī)數(shù),再使用四種算法進(jìn)行排序,并統(tǒng)計(jì)各種算法統(tǒng)計(jì)時(shí)間。運(yùn)行截圖如下:(3)由多次試驗(yàn)結(jié)果可得,梳排序和快速排序的排序速度相對(duì)較快。4總結(jié)通過(guò)這次課程設(shè)計(jì)我認(rèn)識(shí)到了排序功能在解決實(shí)際問(wèn)題中的作用,使我對(duì)數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)有了更進(jìn)一步的理解。在完成本次課程設(shè)計(jì)中,我發(fā)現(xiàn)很多理論性知識(shí)在實(shí)際使用時(shí)與單純的理論還是有所差別的,今后我會(huì)更加注重培養(yǎng)自己的實(shí)踐動(dòng)手能力。5程序清單見(jiàn)附錄6參考文獻(xiàn)[1]嚴(yán)蔚敏,吳偉民編著.數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)--北京:清華大學(xué)出版社,2007.[2]嚴(yán)蔚敏,吳偉民米寧編著.數(shù)據(jù)結(jié)構(gòu)題集(C語(yǔ)言版)--北京:清華大學(xué)出版社,2007.[3]/wiki/%E6%A2%B3%E6%8E%92%E5%BA%8F7程序運(yùn)行結(jié)果附錄程序清單:#include"stdafx.h"#include<stdio.h>#include<stdlib.h>#include<time.h>/*用到了time函數(shù),所以要有這個(gè)頭文件*/#defineMAX40000//插入排序voidinsertSort(inta[],intlen){ inti,j,temp; for(i=1;i<len;i++) { temp=a[i]; for(j=i-1;j>=0;j--) { if(a[j]>temp) { a[j+1]=a[j]; }else { break; } } a[j+1]=temp; }}//冒泡排序voidBubble(inta[],intlen){ intlength=len;inti=0;intj=0;for(;i<len;i++) { for(;j<length;j++) { if(a[j]>a[j+1]) { inttemp=a[j];a[j]=a[j+1];a[j+1]=temp; } }length--;j=0; }}//快速排序intpartions(intl[],intlow,inthigh){ intprvotkey=l[low];l[0]=l[low];while(low<high) { while(low<high&&l[high]>=prvotkey) --high;l[low]=l[high];while(low<high&&l[low]<=prvotkey) ++low;l[high]=l[low]; }l[low]=l[0];returnlow;}voidqsort(intl[],intlow,inthigh){ intprvotloc;if(low<high) { prvotloc=partions(l,low,high);//將第一次排序的結(jié)果作為樞軸qsort(l,low,prvotloc-1);//遞歸調(diào)用排序由low到prvotloc-1qsort(l,prvotloc+1,high);//遞歸調(diào)用排序由prvotloc+1到high }}voidquicksort(intl[],intn){ qsort(l,1,n);//第一個(gè)作為樞軸,從第一個(gè)排到第n個(gè)}//梳排序voidcombsort(inta[],intn){ floatshrink_factor=1.3;intgap=n,swapped=1,swap,i;while((gap>1)||swapped) { if(gap>1)gap=gap/shrink_factor;swapped=0;i=0;while((gap+i)<n) { if(a[i]-a[i+gap]>0) { swap=a[i];a[i]=a[i+gap];a[i+gap]=swap;swapped=1; }++i; } }}intmain(){ intnumber[MAX]={0}; intnumber1[MAX]={0}; intnumber2[MAX]={0}; intnumber3[MAX]={0}; intnumber4[MAX]={0};inti;srand((unsigned)time(NULL));/*播種子*/for(i=0;i<MAX;i++) { number[i]=rand()%20000;/*產(chǎn)生101以內(nèi)的隨機(jī)整數(shù)*/number1[i]=number2[i]=number3[i]=number4[i]=number[i];while(number[i]==0) { number[i]=rand()%20000; number1[i]=number2[i]=number3[i]=number4[i]=number[i]; } }//快速排序并計(jì)算時(shí)間 clock_tbegin1,end1;doublecost1;begin1=clock(); quicksort(number1,MAX); end1=clock(); cost1=(double)(end1-begin1)/CLOCKS_PER_SEC;//冒泡排序并計(jì)算時(shí)間 clock_tbegin2,end2;doublecost2;begin2=clock(); Bubble(number2,MAX); end2=clock(); cost2=(double)(end2-begin2)/CLOCKS_PER_SEC; //插入排序并計(jì)算時(shí)間 clock_tbegin3,end3;doublecost3;begin3=clock(); insertSort(number3,MAX); end3=clock(); cost3=(double)(end3-begin3)/CLOCKS_PER_SEC; //梳排序并計(jì)算時(shí)間 clock_tbegin4,end4;doublecost4;begin4=clock(); combsort(number4,MAX); end4=clock(); cost4=(double)(end4-begin4)/CLOCKS_P
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度車(chē)場(chǎng)租賃及停車(chē)場(chǎng)綠化美化服務(wù)協(xié)議4篇
- 科技引領(lǐng)下的宇宙探索進(jìn)展
- 二零二五年度車(chē)輛融資租賃合同違約責(zé)任答辯狀樣本8篇
- 二零二五年度車(chē)輛買(mǎi)賣(mài)合同含車(chē)輛綠色環(huán)保認(rèn)證3篇
- 二零二五年度草坪圍欄施工與城市排水系統(tǒng)配套合同2篇
- 2025年度個(gè)人知識(shí)產(chǎn)權(quán)代理傭金協(xié)議4篇
- 二零二五年度櫥柜衣柜模塊化設(shè)計(jì)生產(chǎn)合同4篇
- 2025年度個(gè)人車(chē)位買(mǎi)賣(mài)合同范本(寫(xiě)字樓)3篇
- 高效體育訓(xùn)練學(xué)生體能提升的秘密武器
- 2025年度綠色有機(jī)牛奶產(chǎn)銷一體化合作合同范本4篇
- 河北省邯鄲市永年區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末考試化學(xué)試卷(含答案)
- 交通運(yùn)輸行政執(zhí)法程序規(guī)定培訓(xùn)課件
- 消防員證考試題庫(kù)2000題中級(jí)
- 海洋垃圾處理行業(yè)可行性分析報(bào)告
- 公共部門(mén)績(jī)效管理案例分析
- 無(wú)人機(jī)培訓(xùn)計(jì)劃表
- 2024屆高考英語(yǔ)詞匯3500左右
- 2024年-2025年海船船員考試-船舶人員管理考試題及答案
- 2025屆安徽省皖南八校聯(lián)盟高二物理第一學(xué)期期末統(tǒng)考試題含解析
- 三兄弟分田地宅基地協(xié)議書(shū)范文
- 《BIM土建算量與云計(jì)價(jià)》完整課件
評(píng)論
0/150
提交評(píng)論