冒泡排序、選擇排序、插入排序、快速排序_第1頁
冒泡排序、選擇排序、插入排序、快速排序_第2頁
冒泡排序、選擇排序、插入排序、快速排序_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、4種面試中常見的排序方法一:冒泡排序:思路:相鄰兩個元素之間的比較。例如將一數(shù)組按從小到人排列:第一輪兩個元素相比較,將數(shù)組中最人的元素放到數(shù)組的最末尾;第二輪兩個元素相比較,將數(shù)組中次人的元素放到數(shù)組的倒數(shù)第二位,此時不用和最后一個元素相比較了;第三輪兩個元素相比較,將第三大的元素放在數(shù)組的倒數(shù)第三的位置上,此時也不用比較和倒數(shù)第二個數(shù)和倒數(shù)第一個數(shù)相比較了:然后依次類推得出結(jié)果。代碼:voidbubblesort(iiita.mtlen)fbi(i=1;ilen;+i)for(j=0;jaj+1)intk=a|j;aj=aj+1;a|j+l=k;選擇排序思路:兩個元素相比較,注意不一定是相

2、鄰的元素哦!例如將一數(shù)組從小到人排列,第一輪先找到最人的元素然后和數(shù)組最后一個元素相交換:第二輪找到次人的數(shù)與數(shù)組倒數(shù)第二個元素相交換,以此類推.代碼:voidselcetsort(iiita,mtlen)niti,j,max.t=0;fbi(i=1;ilen;+i)max=len-i;for(j=0;jamax)max=j;if(max!=len-i)t=aj;aj=amax;aniax=t;三:插入排序思路:第一輪以卞標為1的元素為基準,將前面的元素與此基準相比較:第二輪以下標為2的元素為基準,將前面的元素與此基準相比較;以此類推。代碼:voidinsertsort(inta5intlen

3、)inti,j,k;for(i=1;i0;-j)if(aj-lk)aj=a(j-l;elsebreak;aj-1=k;四:快速排序思路:第一輪排序:1先以首元素為基準,假設(shè)首元素npivot=14,設(shè)定兩個指針指向i,j分別指向數(shù)組的首尾元素;2)向前移動指針j直到指向第一個小于14的元素,并將此元素置換到所指向的位置;3)向后移動指針1直到指向第一個人于14的元素,并將此元素置換到J所指向的位置;4)然后繼續(xù)執(zhí)行2)3),當i=j時,則將14放在1或j的位置上;然后后面的幾輪排序則使用遞歸的方式繼續(xù)intquickoncesort(iiita,intlow.iiitliigh)/第一輪排序inti=lowj=liigh,npivot=alow;wlnle(ij)while(i=npivot)-j;ai=a|j;while(ij&a1=lugh)retuin;intnpivotmdex=quickoncesort(a,low,high);quicksort(a,low,npivotindex-1);quicksort(a,npivotiiidex+1Jiigh);mtmam()主函數(shù)inta10=9,5,7,3.6,4;/bubblesort(a.6);/inseilsort(a,6

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論