版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——內(nèi)部排序算法對比內(nèi)部排序算法比較
班級:姓名:學(xué)號:完成日期:
題目:試通過隨機(jī)數(shù)據(jù)比較各算法的關(guān)鍵字比較次數(shù)和關(guān)鍵字移動次數(shù),以取得直觀感受。一.需求分析
1.對常用的6種內(nèi)部排序算法進(jìn)行比較:冒泡排序,直接插入排序,簡單項選擇擇排序,快速排序,希爾排序,堆排序。
2.待排序表的表長不小于100;其中的數(shù)據(jù)要用偽隨機(jī)數(shù)產(chǎn)生程序產(chǎn)生;至少要用5組不同的輸入數(shù)據(jù)作比較;比較的指標(biāo)為有關(guān)鍵字參與的比較次數(shù)和關(guān)鍵字的移動次數(shù)(關(guān)鍵字交換計為3次移動)
3.最終要對結(jié)果作出簡單分析,包括對各組數(shù)據(jù)得到結(jié)果波動大小的解釋。二.概要設(shè)計1.主界面設(shè)計
對六種內(nèi)部排序算法進(jìn)行比較,可通過隨機(jī)數(shù)程序產(chǎn)生幾組數(shù),要求用戶手動輸入產(chǎn)生隨機(jī)數(shù)的個數(shù)。運(yùn)行界面如下圖:
選擇1運(yùn)行程序,選擇2退出程序2.存儲結(jié)構(gòu)設(shè)計
本程序采用順序表結(jié)構(gòu),具體結(jié)構(gòu)定義如下:typedefstruct{
intkey;}ElemType;typedefstruct{
ElemType*elem;intlength;}SqList;
3.系統(tǒng)功能設(shè)計
1)分派內(nèi)存空間。創(chuàng)立順序表
2)利用偽隨機(jī)數(shù)產(chǎn)生程序產(chǎn)生隨機(jī)數(shù),作為程序運(yùn)行的數(shù)據(jù)3)實現(xiàn)每種排序算法的功能函數(shù)三.模塊設(shè)計1.模塊設(shè)計隨機(jī)數(shù)產(chǎn)生模塊主程序模塊
排序算法模塊
2.系統(tǒng)子程序及功能設(shè)計
本系統(tǒng)共設(shè)置13個函數(shù),其中包括主函數(shù)。各函數(shù)名及功能說明如下。1)voidaddlist(SqList}ElemType;typedefstruct{
ElemType*elem;intlength;}SqList;
2.全局變量定義
intbj1=0,yd1=0,bj2=0,yd2=0,bj3=0,yd3=0,bj4=0,yd4=0,bj5=0,yd5=0,bj6=0,yd6=0;//記錄每種算法的比較,移動次數(shù)intn;//隨機(jī)數(shù)的個數(shù)
2.系統(tǒng)主要子程序詳細(xì)設(shè)計(1)主函數(shù)設(shè)計模塊
主要是輸入數(shù)據(jù),以及程序界面的設(shè)計,調(diào)用系統(tǒng)的各個子程序,并輸出結(jié)果。(詳見源程序)
(2)隨機(jī)數(shù)產(chǎn)生模塊
利用偽隨機(jī)數(shù)產(chǎn)生程序產(chǎn)生數(shù)據(jù),并存儲到順序表中。voidrandom(SqList
staticboolfirst=true;if(first){
srand(time(0));first=false;
}//使每次產(chǎn)生的隨機(jī)數(shù)不同for(inti=1;i30000)gotoa;++L.length;}
(3)排序算法模塊實現(xiàn)冒泡排序,直接插入排序,簡單項選擇擇排序,快速排序,希爾排序以及堆排序的算法。(祥見源程序)五.測試分析
運(yùn)行程序后,得到如下圖:
輸入:1
輸入:100
選擇1重復(fù)上述步驟,輸入150,200,250,300得到另外四個結(jié)果:
退出程序,請選擇:2
結(jié)果分析:冒泡排序,直接插入排序以及簡單項選擇擇排序比較次數(shù)較多,快速排序,希爾排序及堆排序比較次數(shù)較少;并可得冒泡排序和直接插入排序相對較穩(wěn)定,其他四種內(nèi)部排序為不穩(wěn)定排序。
六.源程序清單#include\#include\#include\#include\#include%usingnamespacestd;
#defineLIST_INIT_SIZE50000
intbj1=0,yd1=0,bj2=0,yd2=0,bj3=0,yd3=0,bj4=0,yd4=0,bj5=0,yd5=0,bj6=0,yd6=0,n;//yd,bj為記錄關(guān)鍵字比較和移動的次數(shù)typedefstruct{
intkey;}ElemType;typedefstruct{
ElemType*elem;intlength;}SqList;
voidaddlist(SqList}
L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!L.elem)exit(0);}
voidrandom(SqList
staticboolfirst=true;if(first){
srand(time(0));first=false;
}//使輸入一致個數(shù)時每次產(chǎn)生的隨機(jī)數(shù)不同for(inti=1;i30000)gotoa;++L.length;}}
voidmemory(SqListfor(inti=1;iL.elem[j+1].key){
L.elem[0].key=L.elem[j].key;L.elem[j].key=L.elem[j+1].key;L.elem[j+1].key=L.elem[0].key;yd1+=3;}}}}
voidInsertSort(SqList
for(i=2;iL.elem[j].key){k=j;bj5++;}}
if(i!=k){
L.elem[0].key=L.elem[i].key;L.elem[i].key=L.elem[k].key;L.elem[k].key=L.elem[0].key;yd5+=3;}w++;}
d=d/2;w=1;}}
voidHeapAdjust(SqList
rc.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!rc.elem)exit(0);intj;
rc.elem[0]=L.elem[s];for(j=2*s;j0;--i)HeapAdjust(L,i,L.length);for(i=L.length;i>1;--i)
{L.elem[1]=L.elem[i];yd6+=3;HeapAdjust(L,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年征地拆遷責(zé)任合同
- 家具城裝修終止合同協(xié)議書
- 2025年游輪島嶼游合同
- 城市公園石材裝修裝卸合同
- 廣告策劃居間委托合同
- 2024年醫(yī)藥廣告行業(yè)市場前景預(yù)測及投資戰(zhàn)略研究報告
- 2025年觀景鏡項目投資可行性研究分析報告
- 2025年水利機(jī)械項目可行性研究報告
- 2025年無基礎(chǔ)抗震離心機(jī)行業(yè)深度研究分析報告
- 微信運(yùn)營服務(wù)合同
- 視頻監(jiān)控系統(tǒng)工程施工組織設(shè)計方案
- 食堂食材配送采購 投標(biāo)方案(技術(shù)方案)
- 2024年山東省泰安市高考語文一模試卷
- 全國助殘日關(guān)注殘疾人主題班會課件
- TCL任職資格體系資料HR
- 《中國古代寓言》導(dǎo)讀(課件)2023-2024學(xué)年統(tǒng)編版語文三年級下冊
- 五年級上冊計算題大全1000題帶答案
- 工會工作制度匯編
- 工程建設(shè)行業(yè)標(biāo)準(zhǔn)內(nèi)置保溫現(xiàn)澆混凝土復(fù)合剪力墻技術(shù)規(guī)程
- 液壓動力元件-柱塞泵課件講解
- 人教版五年級上冊數(shù)學(xué)脫式計算100題及答案
評論
0/150
提交評論