本文將為您介紹Java算法排序中的冒泡排序,并利用所學(xué)的Java基礎(chǔ)知識實(shí)現(xiàn)Java中的冒泡排序算法。
冒泡排序 Bubble Sort ,是一種計(jì)算科學(xué)領(lǐng)域的較簡單的排序算法。冒泡排序把小的元素往前調(diào)或是把大的向后調(diào),比較的知識相鄰兩個元素。如果兩個元素相等,則不會再交換;如果相等的不相鄰,即便前兩個交換后相鄰,這兩個相等的也不會交換。所以冒泡排序是一種穩(wěn)定排序算法。
一、冒泡排序的步驟
1、比較相鄰的兩個元素,如果第一個比第二個大,那么就交換二者。
2、對每一對相鄰元素作相同工作,從最開始的一對,到最后一對。因此,最后一位必定是最大的數(shù)。
3、針對所有的元素重復(fù)以上步驟,除了最后一個,即需要進(jìn)行 length-1 次。直到?jīng)]有任何一對數(shù)字需要比較,則算法結(jié)束。
動態(tài)圖展示:
二、代碼實(shí)例
public class BubbleSort {
public static void bubbleSort(int[] array) {
boolean flag = false;//記錄一趟排序過程是否進(jìn)行的數(shù)值的交換
for (int i = 0; i < array.length-1; i++) {
for (int j = 0; j < array.length-1-i; j++) {
//相等就不進(jìn)行交換,保證算法的穩(wěn)定性。
if(array[j] > array[j+1]){
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
flag = true;
}
}
if(!flag){ //如果一次交換都未進(jìn)行,就說明整個數(shù)組是有序的
break;
}
}
}
}
三、debug命令調(diào)試
1、打斷點(diǎn),在需要斷點(diǎn)的行數(shù)前進(jìn)行點(diǎn)擊。
2、右鍵單擊 Debug 模式運(yùn)行。
3、 F8 快捷鍵依次執(zhí)行代碼。
四、總結(jié)
通過用Java基礎(chǔ)實(shí)現(xiàn)冒泡排序算法的練習(xí),對Java排序算法有一個大概的了解。想要了解更多有關(guān)Java排序算法的內(nèi)容,請關(guān)注 W3CSchool 和 編程獅APP。