冒泡排序——算法思路及java、js實現代碼

算法思路:

數組裏面有一組數字,首先,第一個和第二個進行比對,如果小則往後互換,繼續比對第二個和第三個,依次循環,這樣最小的一個就會排到最後面,然後外循環就會告訴內循環,循環數組就不需要比對最後一個了,然後繼續進行循環,結果就會把這組數字進行降序排列,即按從大到小排序;反之從小到大排序。

Java具體實現代碼:

public static void main(String[] args) {  
    // 降序排列,從大到小  
    int[] aa = new int[] {25, 32, 1, 5, 6, 84, 4};  
    for(int i = 0; i < aa.length - 1; i++) {  
        for(int j = 0; j < aa.length - i - 1; j++) {  
            if(aa[j] < aa[j + 1]) {  
                int index = aa[j];  
                aa[j] = aa[j + 1];  
                aa[j + 1] = index;  
            }  
        }  
    }  
    //輸出排序後數組    
    for (int i = 0; i < aa.length; i++) {    
        System.out.println(aa[i]);  
    }  
}

 js 實現冒泡排序代碼:

        // 冒泡排序,
        var arr = [1, 9, 4, 88, 10];
        // 外層循環 控制 趟數  5個元素走4趟  10個元素走9趟  arr.length - 1 
        for (var i = 0; i < arr.length - 1; i++) {
            // 內層循環 控制 次數  第一趟4次(當前索引號0),第二趟3次...  arr.length-i-1
            for (var j = 0; j < arr.length - i - 1; j++) {
                // 從小到大排序
                if (arr[j] > arr[j + 1]) {
                    var temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        console.log(arr);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章