冒泡排序的原理以及java代碼實(shí)現(xiàn)_第1頁
冒泡排序的原理以及java代碼實(shí)現(xiàn)_第2頁
冒泡排序的原理以及java代碼實(shí)現(xiàn)_第3頁
冒泡排序的原理以及java代碼實(shí)現(xiàn)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——冒泡排序的原理以及java代碼實(shí)現(xiàn)冒泡排序的原理以及java代碼實(shí)現(xiàn)

冒泡排序的原理以及java代碼實(shí)現(xiàn)

概述

冒泡排序是一種簡(jiǎn)樸的排序算法。

它重復(fù)地走訪要排序的數(shù)列,一次對(duì)比兩個(gè)元素,假設(shè)他們的依次錯(cuò)誤就把他們交換過來。走訪數(shù)列的工作是重復(fù)地舉行直到數(shù)列已經(jīng)排序完成。這個(gè)算法的名字由來是由于越小的元素會(huì)經(jīng)由交換逐漸“浮”到數(shù)列的.開頭。

簡(jiǎn)樸點(diǎn)說,就是:

冒泡排序是將比較大的數(shù)字沉在數(shù)組的后面(可以理解為下面),較小的浮在前面(上面)。

直觀釋義圖:

步驟

對(duì)比相鄰的元素。假設(shè)第一個(gè)比其次個(gè)大,就交換他們兩個(gè)。

對(duì)每一對(duì)相鄰元素作同樣的工作,從開頭第一對(duì)到結(jié)尾的結(jié)果一對(duì)。在這一點(diǎn),結(jié)果的元素理應(yīng)會(huì)是最大的數(shù)。

針對(duì)全體的元素重復(fù)以上的步驟,除了結(jié)果一個(gè)。

持續(xù)每次對(duì)越來越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對(duì)數(shù)字需要對(duì)比。

實(shí)例

原始數(shù)據(jù):

35262

第一輪

對(duì)比3和5,5大于3,不需交換35262持續(xù)對(duì)比5和2,5大于2,交換位置32562持續(xù)對(duì)比5和6,6大于5,不需交換32562持續(xù)對(duì)比6和2,6大于2,交換位置325266下沉到結(jié)果,兩個(gè)2都分別向上(前)冒出。

其次輪

對(duì)比3和2,3大于2,交換位置23526對(duì)比3和5,5大于3,不需交換23526對(duì)比5和2,5大于2,交換位置23256不需對(duì)比5和6

第三輪

對(duì)比2和3,3大于2,不需交換23256對(duì)比3和2,3大于2,交換位置22356不需對(duì)比了

第四輪

對(duì)比2和2,不需交換22356

四輪終止

22356

代碼實(shí)現(xiàn)Java

packagecom.coder4j.main.arithmetic.sorting;publicclassBubble/***冒泡排序**@paramarray*@return*/publicstaticint[]sortint[]arrayinttemp;//第一層循環(huán)說明對(duì)比的輪數(shù),譬如length個(gè)元素,對(duì)比輪數(shù)為length-1次(不需和自己比)forinti=0;iarray.length-1;i++System.out.println第+i+1+輪開頭;//其次層循環(huán),每相鄰的兩個(gè)對(duì)比一次,次數(shù)隨著輪數(shù)的增加不斷裁減,每輪確定一個(gè)最大的,不需對(duì)比那個(gè)最大的forintj=0;jarray.length-1-i;j++ifarray[j+1]array[j]temp=array[j];array[j]=array[j+1];array[j+1]=temp;System.out.println第+i+1+輪,第+j+1+次對(duì)比:;forintk:arraySystem.out.printk+;System.out.println;System.out.println結(jié)果:;forintk:arraySystem.out.printk+;System.out.println;returnarray;publicstaticvoidmainString[]argsint[]array=3,5,2,6,2;int[]sorted=sortarray;System.out.println最終結(jié)果;forinti:sortedSystem.out.printi+;

測(cè)試輸出結(jié)果:

第1輪開頭第1輪,第1次對(duì)比:35262第1輪,第2次對(duì)比:32562第1輪,第3次對(duì)比:32562第1輪,第4次對(duì)比:32526結(jié)果:32526第2輪開頭第2輪,第1次對(duì)比:23526第2輪,第2次對(duì)比:23526第2輪,第3次對(duì)比:23256結(jié)果:23256第3輪開頭第3輪,第1次對(duì)比:23256

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論