三大排序_第1頁
已閱讀1頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、冒泡排序可以說是最簡單的排序了。我們學習C語言循環(huán)的時候都會提到??梢娺@是一種淺而易懂的排序算法!但不見得這種算法就沒用處。首先,他很容易理解,這樣在各種教材中比較適合拿來“開門見山”。其次是他很穩(wěn)定。若明確知道即將排的數(shù)字很混亂,隨機性很強,則用冒泡排序也未償不可。誰讓他始終是O(n^2)呢。冒泡排序法代碼:voidBubbleSt(inta[]intl)23f(inti=0ili)45f(intj=i1jlj)67if(a[j]a[

2、i])89intt=a[i]10a[i]=a[j]11a[j]=t12131415從中我們可以看到,每次都會將后面的L(i1)個數(shù)拿來和a[i]比較,然后將小一點的換到前面。有人就覺得啊,這個每次都交換很費性能,影響效率。所以他們就將a[j]和a[i]比較后的最小值的下標記下來,當比較完之后,最后記下的下標就是最小的值的下標,然后再進行一次交換。于是便有了選擇排序法。選擇排序法代碼:1voidSt(inta[]intl)23f(inti

3、=0ili)45intk=i6f(intj=i1jlj)789if(a[j]a[k])1011k=j121314intt=a[i]15a[i]=a[k]16a[k]=t1718雖然,我們并沒有根本性地扭轉(zhuǎn)冒泡排序的地位。但效率是有明顯提升的,至少減少了L(L1)L=L(L2)=L^22L次交換!另外,目前廣為使用的快速排序和選擇排序聯(lián)合使用,也會有意想不到的提升!眾所周知,當用快速排序法排序時,劃分到很細的時候,明顯很虧。比如:兩三個數(shù)

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論