排序算法之冒泡排序

冒泡排序

在这里插入图片描述

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