版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗四:快速排序與簡單排序性能比較學(xué)生姓名:班級:12學(xué)號:完成時間:2015.06.26本人鄭重聲明:本實驗的程序代碼編寫與調(diào)試、實驗報告的撰寫均由本人獨立完成,如被發(fā)現(xiàn)抄襲或與其他同學(xué)作業(yè)雷同,同意取消該實驗成績!聲明人:2015.06.26【實驗內(nèi)容】比較快速排序與簡單選擇排序算法的性能。學(xué)生須自行實現(xiàn)簡單選擇排序算法,并在不同輸入情況下,給出兩種排序算法的比較次數(shù)和移動次數(shù)?!揪幊趟悸贰渴紫龋骱瘮?shù)中要求輸入數(shù)組長度n,然后申請三個長度為n的動態(tài)數(shù)組,然后輸入數(shù)組元素,分別賦給三個數(shù)組。數(shù)組p用于快速排序輸出比較次數(shù),數(shù)組pa用于快速排序輸出交換次數(shù),數(shù)組pb用于簡單選擇排序輸出比較和
2、交換次數(shù)。在簡單排序過程中,用變量SwapTime記錄交換次數(shù),用變量CompareTime記錄比較次數(shù),每次進行比較或交換,相應(yīng)變量自增。在快速排序過程中,由于用到遞歸算法,SwapTime和CompareTime均定義為靜態(tài)變量?!境绦虼a】1主函數(shù)(作業(yè)部分)voidmain()intn;cout“輸入數(shù)列的項數(shù):n;int*p二newintn,pa二newintn,pb二newintn;cout輸入要排序的數(shù)列:endl;for(intj=O;jpj;paj=pj;pbj=pj;cout快速排序比較的次數(shù):quickSort2(p,0,n-l)endl;cout快速排序交換的次數(shù):qu
3、ickSortl(pa,O,nT)endl;Easysort(pb,n);deletep;deletepa;deletepb;p二NULL;pa二NULL;pb二NULL;2快速排序函數(shù)(老師提供)intquickSort1(int*p,intlow,inthigh)/返回交換的次數(shù)inti,j,t;staticintSwapTime=0;/交換的次數(shù)if(lowhigh)/*要排序的元素起止下標,保證小的放在左邊,大的放在右邊。這里以下標為low的元素為基準點*/i=low;j=high;t=*(p+low);/*暫存基準點的數(shù)*/while(ij)/*循環(huán)掃描*/while(it)/*在右
4、邊的只要比基準點大仍放在右邊*/j-;/*前移一個位置*/if(ij)*(p+i)二*(p+j);/*上面的循環(huán)退出:即出現(xiàn)比基準點小的數(shù),替換基準點的數(shù)*/i+;/*后移一個位置,并以此為基準點*/SwapTime+;while(ij&*(p+i)二t)/*在左邊的只要小于等于基準點仍放在左邊*/i+;if(ij)*(p+j)二*(p+i);/*上面的循環(huán)退出:即出現(xiàn)比基準點大的數(shù),放到右邊*/j-;/*前移一個位置*/SwapTime+;*(p+i)=t;/*一遍掃描完后,放到適當位置*/quickSortl(p,low,i-l);/*對基準點左邊的數(shù)再執(zhí)行快速排序*/quickSortl
5、(p,i+l,high);/*對基準點右邊的數(shù)再執(zhí)行快速排序*/returnSwapTime;intquickSort2(int*p,intlow,inthigh)/返回比較的次數(shù)inti,j,t;staticintCompareTime=0;/比較的次數(shù)if(lowhigh)/*要排序的元素起止下標,保證小的放在左邊,大的放在右邊。這里以下標為low的元素為基準點*/i=low;j=high;t=*(p+low);/*暫存基準點的數(shù)*/for(intk=i;kj;k+)CompareTime+;while(ij)/*循環(huán)掃描*/while(it)/*在右邊的只要比基準點大仍放在右邊*/j-;
6、/*前移一個位置*/CompareTime+;if(ij)*(p+i)二*(p+j);/*上面的循環(huán)退出:即出現(xiàn)比基準點小的數(shù),替換基準點的數(shù)*/i+;/*后移一個位置,并以此為基準點*/while(ij&*(p+i)二t)/*在左邊的只要小于等于基準點仍放在左邊*/i+;/*后移一個位置*/CompareTime+;if(ij)*(p+j)二*(p+i);/*上面的循環(huán)退出:即出現(xiàn)比基準點大的數(shù),放到右邊*/j-;/*前移一個位置*/*(p+i)=t;/*一遍掃描完后,放到適當位置*/quickSort2(p,low,i-l);/*對基準點左邊的數(shù)再執(zhí)行快速排序*/quickSort2(p,i+l,high);/*對基準點右邊的數(shù)再執(zhí)行快速排序*/returnCompareTime;3簡單選擇排序函數(shù)(老師提供)voidEasysort(int*p,intn)intSwapTime=0;/交換的次數(shù)intCompareTime=0;intt二p0;for(inti二0;in1;i+)intk;k=i;for(intj=i+1;jn;CompareTime+;if(pjpk)k=j;if(i!=k)SwapTime+;t二pi;pi=pk;pk=t;printf(“簡單排序比較的次數(shù):%dprintf(n);printf(簡單排序交換的次數(shù):%dprintf(n);j+),Com
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東理工學(xué)院《中西跨文化交際》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東警官學(xué)院《材料化學(xué)實驗B》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東機電職業(yè)技術(shù)學(xué)院《中學(xué)化學(xué)教學(xué)綜合技能訓(xùn)練》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東工程職業(yè)技術(shù)學(xué)院《數(shù)字化圖像處理Photoshop》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東第二師范學(xué)院《建筑施工CAD》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東財貿(mào)職業(yè)學(xué)院《建筑設(shè)計4》2023-2024學(xué)年第一學(xué)期期末試卷
- 《泌尿系統(tǒng)疾病診治》課件
- 《落落的微笑》課件
- 廣東碧桂園職業(yè)學(xué)院《電視節(jié)目播音主持》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣安職業(yè)技術(shù)學(xué)院《設(shè)計基礎(chǔ)理論》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年自然資源部北海局所屬事業(yè)單位招聘67人歷年高頻500題難、易錯點模擬試題附帶答案詳解
- 消防改造期間消防應(yīng)急預(yù)案
- 酒精依賴綜合征的護理
- GB/T 44456-2024電子競技場館運營服務(wù)規(guī)范
- 系統(tǒng)工程教案
- DL-T 380-2010接地降阻材料技術(shù)條件
- 限期交貨保證書模板
- 安防設(shè)備更新改造項目可行性研究報告-超長期國債
- 2024過敏性休克搶救指南(2024)課件干貨分享
- 2024年紀委監(jiān)委招聘筆試必背試題庫500題(含答案)
- 【發(fā)動機曲軸數(shù)控加工工藝過程卡片的設(shè)計7800字(論文)】
評論
0/150
提交評論