排序算法之冒泡排序

冒泡排序

在這裏插入圖片描述

package demo4;

import java.util.Arrays;

public class BubbleSort {

    public static void main(String[] args) {
        int[] arr = new int[]{5,7,2,9,4,1,0,5,7};
        System.out.println(Arrays.toString(arr));
        bubbleSort(arr);
        System.out.println(Arrays.toString(arr));
    }

    //冒泡排序
    /**
     * [5, 7, 2, 9, 4, 1, 0, 5, 7]      共需要比較length-1輪
     * [5, 2, 7, 9, 4, 1, 0, 5, 7]
     * [5, 2, 7, 4, 9, 1, 0, 5, 7]
     * [5, 2, 7, 4, 1, 9, 0, 5, 7]
     * [5, 2, 7, 4, 1, 0, 9, 5, 7]
     * [5, 2, 7, 4, 1, 0, 5, 9, 7]
     * [5, 2, 7, 4, 1, 0, 5, 7, 9]
     * [2, 5, 7, 4, 1, 0, 5, 7, 9]
     * [2, 5, 4, 7, 1, 0, 5, 7, 9]
     * [2, 5, 4, 1, 7, 0, 5, 7, 9]
     * [2, 5, 4, 1, 0, 7, 5, 7, 9]
     * [2, 5, 4, 1, 0, 5, 7, 7, 9]
     * [2, 4, 5, 1, 0, 5, 7, 7, 9]
     * [2, 4, 1, 5, 0, 5, 7, 7, 9]
     * [2, 4, 1, 0, 5, 5, 7, 7, 9]
     * [2, 1, 4, 0, 5, 5, 7, 7, 9]
     * [2, 1, 0, 4, 5, 5, 7, 7, 9]
     * [1, 2, 0, 4, 5, 5, 7, 7, 9]
     * [1, 0, 2, 4, 5, 5, 7, 7, 9]
     * [0, 1, 2, 4, 5, 5, 7, 7, 9]
     * [0, 1, 2, 4, 5, 5, 7, 7, 9]
     */

    public static void bubbleSort(int[] arr){
        //控制共比較多少輪
        for(int i=0;i<arr.length-1;i++){
            //控制比較的次數
            for(int j=0;j<arr.length-1-i;j++){
                if(arr[j]>arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1]= temp;
//                    System.out.println(Arrays.toString(arr));     //打印每輪排序好後的數組
                }
            }
        }
    }
}
發佈了43 篇原創文章 · 獲贊 15 · 訪問量 5917
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章