App下載

Java算法排序之冒泡排序

猿友 2021-07-14 09:27:34 瀏覽數(shù) (2210)
反饋

本文將為您介紹Java算法排序中的冒泡排序,并利用所學(xué)的Java基礎(chǔ)知識實現(xiàn)Java中的冒泡排序算法。

冒泡排序 Bubble Sort ,是一種計算科學(xué)領(lǐng)域的較簡單的排序算法。冒泡排序把小的元素往前調(diào)或是把大的向后調(diào),比較的知識相鄰兩個元素。如果兩個元素相等,則不會再交換;如果相等的不相鄰,即便前兩個交換后相鄰,這兩個相等的也不會交換。所以冒泡排序是一種穩(wěn)定排序算法。

一、冒泡排序的步驟

1、比較相鄰的兩個元素,如果第一個比第二個大,那么就交換二者。

2、對每一對相鄰元素作相同工作,從最開始的一對,到最后一對。因此,最后一位必定是最大的數(shù)。

3、針對所有的元素重復(fù)以上步驟,除了最后一個,即需要進(jìn)行 length-1 次。直到?jīng)]有任何一對數(shù)字需要比較,則算法結(jié)束。

動態(tài)圖展示:

000

二、代碼實例

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ǔ)實現(xiàn)冒泡排序算法的練習(xí),對Java排序算法有一個大概的了解。想要了解更多有關(guān)Java排序算法的內(nèi)容,請關(guān)注 W3CSchool編程獅APP。


0 人點(diǎn)贊