版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、#include#include#include#include#defineElemTypelong*冒泡排序TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxlongBubblesort(longR,longn)intflag=1;longBC=0;for(longi=1;i=i;j-)if(RjRj-1)/當(dāng)flag為0,則停
2、止排序/i表示趟數(shù),最多n-1趟/開始時元素未交換/發(fā)生逆序longt=Rj;Rj=Rj-1;Rj-1=t;flag=1;/交換,并標記發(fā)生了交換BC+;for(longi=0;in;i+)coutRi;coutendl;returnBC;*選擇排序*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*TxTxTxTxTxTxTxTx
3、TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxlongselectsort(longR,longn)longi,j,m;longt,SC=0;for(i=0;in-1;i+)m=i;for(j=i+1;jn;j+)/選擇最小記錄if(RjRm)m=j;if(m!=i)/與第i個記錄交換t=Ri;Ri=Rm;Rm=t;SC+;returnSC;*直接插入排序Tx
4、TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxlonginsertsort(longR,longn)longIC=0;for(longi=1;i=0)&(tempRj)Rj+1=Rj;j-;/將一個記錄插入到已排好的有序序列i表示插入次數(shù),共進行n-1次插入/把待排序元素賦給temp/順序比較和移動IC+;Rj+1=temp;for
5、(longi=0;in;i+)coutRi;coutendl;returnIC;/TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTx*快速排序*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1
6、*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTx/longquicksort(longR,longleft,longright,longn)/第一個記錄作樞軸記錄/從表的兩端交替地向中間掃描staticlong
7、QC=0;longi=left,j=right;longtemp=Ri;while(itemp)&(ji)/比樞軸記錄小的紀錄移到低端j=j-1;if(ji)Ri=Rj;i=i+1;while(Rii)/比樞軸記錄大的紀錄移到高端i=i+1;if(ij)Rj=Ri;j=j-1;/二次劃分得到基準值的正確位置QC+;Ri=temp;for(longk=0;kn;k+)coutRk;coutendl;if(lefti-1)quicksort(R,left,i-1,n);/遞歸調(diào)用左子區(qū)間if(i+1right)quicksort(R,i+1,right,n);/遞歸調(diào)用右子區(qū)間returnQC;/
8、輸出數(shù)組中的元素voidprint(ElemTypeR,intn)for(inti=0;i=n-1;i+)if(i%10=0)coutendl;coutRisetw(6);coutendl;*操作選擇函數(shù)TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTx/voidoperate(longa,longn)long*R=newlongn
9、;clock_tstart,end;doubleduration1,duration2,duration3,duration4;longdegree;charch;coutch;switch(ch)case1:for(inti=0;in;i+)Ri=ai;start=(double)clock();/直接插入排序開始前的時間degree=Bubblesort(R,n);end=(double)clock();/直接插入排序結(jié)束后的時間durationl=(double)(end-start)/CLK_TCK;直接插入排序所花費的時間cout冒泡排序所用時間:tdurationln;cout冒泡
10、排序交換次數(shù):tdegreen;coutn;print(R,n);operate(a,n);break;case2:for(inti=0;in;i+)Ri=ai;start=(double)clock();/選擇排序開始前的時間degree=selectsort(R,n);end=(double)clock();/選擇排序結(jié)束后的時間duration2=(double)(end-start)/CLK_TCK;/選擇排序所花費的時間cout選擇排序所用時間:tduration2n;cout選擇排序交換次數(shù):tdegreen;coutn;print(R,n);operate(a,n);break;
11、case3:for(inti=0;in;i+)Ri=ai;start=(double)clock();/直接插入排序開始前的時間degree=insertsort(R,n);end=(double)clock();/直接插入排序結(jié)束后的時間duration3=(double)(end-start)/CLK_TCK;直接插入排序所花費的時間cout直接插入排序所用時間:duration3n;cout直接插入排序交換次數(shù):degreen;coutn;print(R,n);operate(a,n);break;case4:for(inti=0;in;i+)Ri=ai;start=(double)cl
12、ock();/快速排序開始前的時間degree=quicksort(R,0,n-1,n);end=(double)clock();/快速排序結(jié)束后的時間duration4=(double)(end-start)/CLK_TCK;/快速排序所花費的時間cout快速排序所用時間:tvvduration4vvn;cout快速排序交換次數(shù):tdegreen;coutn;print(R,n);operate(a,n);break;case5:break;default:cout輸入錯誤,請選擇正確的操作!n;break;/TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxT
13、xTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTx*主函數(shù)*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTx/voidmain()coutn*排序算法比較*endl;cout=endl;cout*1-冒泡排序*endl;cout*2-選擇排序*endl;cout*3-直接插入排序*endl;cout*4-快速排序*endl;cout*5-退出程序*endl;cout=endl;coutn;coutendl;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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版港口工程保險合同3篇
- 二零二五版涵洞工程環(huán)保監(jiān)測合同3篇
- 二零二五版反擔(dān)保合同模板:供應(yīng)鏈金融3篇
- 二零二五年計時工勞動合同管理與心理關(guān)懷協(xié)議3篇
- 二零二五年度軟件開發(fā)項目合同及其廉潔規(guī)定2篇
- 二零二五版教育SaaS平臺軟件服務(wù)合同3篇
- 二零二五版粉煤灰運輸安全規(guī)范與應(yīng)急預(yù)案編制合同3篇
- 二零二五年度特種飼料原料采購合同模板2篇
- 二零二五年防火墻安全防護系統(tǒng)集成與維護合同3篇
- 二零二五年度大數(shù)據(jù)中心建設(shè)與運營勞務(wù)分包合同3篇
- 2024版塑料購銷合同范本買賣
- 【高一上】【期末話收獲 家校話未來】期末家長會
- JJF 2184-2025電子計價秤型式評價大綱(試行)
- 二年級下冊加減混合豎式練習(xí)360題附答案
- 2021年道路交通安全法期末考試試題含答案
- 股東變更情況報告表
- 自帶藥物治療告知書
- 房產(chǎn)中介門店6S管理規(guī)范
- 吞咽解剖和生理研究
- TSG11-2020 鍋爐安全技術(shù)規(guī)程
- 異地就醫(yī)備案個人承諾書
評論
0/150
提交評論