首页 > 代码库 > 冒泡排序 Day07

冒泡排序 Day07

package com.sxt.arraytest2;
/*
 * 冒泡排序  
 * 思想:两两交换 一路大的向右
 */
import java.util.Arrays;

public class BubbleSort {
    public static void main(String[] args) {
        int[] arr = {3,54,23,54,98,4,23};
        BSort(arr);
        System.out.println(Arrays.toString(arr));
    }

    private static void BSort(int[] arr) {
        int temp = 0;
        for(int i=0; i<arr.length-1; i++){//N个数进行N-1趟排序
            boolean flag = true;//优化:如果提前已经排好序退出循环
            for(int j=0; j<arr.length-i-1; j++){//-1:防止arr[j+1]越界
                                                //-i:每趟排序的个数是 长度-i
                if(arr[j] > arr[j+1]){
                    flag = false;
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
            if(flag){
                break;
            }
        }
    }
}

 

冒泡排序 Day07