【常用排序算法】冒泡排序

冒泡排序

冒泡排序基本思想:N 个数的数组,经过N-1轮排序。

  • 升序
    大的值下沉,小的值上浮。
  • 降序
    小的值下沉,小的字上浮

import java.util.Arrays;
public class BubbleSort {
    public static void main(String[] args) {
        int[] values = {17,14,13,29,25,8,4};
        System.out.println("values数组原始顺序:"+ Arrays.toString(values));
        bubbleSort(values);
        System.out.println("values数组排序后顺序:"+ Arrays.toString(values));
    }
    private static void bubbleSort(int[] values) {
        //比较几轮?
        for (int i = 0; i < values.length - 1 ; i++) {
            //定义一个布尔类型的变量,标记数组是否已到达有序状态;
            boolean flag = true;
            for (int j = 0; j < values.length - i - 1; j++) {
                if(values[j] > values[j + 1]){
                    int temp = values[j];
                    values[j] = values[j+1];
                    values[j+1] = temp;
                    flag = false;
                }
            }
            //有一轮没有进行比较值,说明从本轮开始,已经是有序的数组了,后面的比较的轮次可以不进行比价
            if (flag){
                break;
            }
        }
    }
}

你可能感兴趣的:(常用算法,排序算法)