基础-冒泡排序

有一数列 5,1,4,9,7,10, 按照从大到小排序

冒泡排序:就是每次只比较相邻的两个数,如果后一个大于前一个的话,将两个数调换位置,依次类推,将第二个数和第三个数比较,再将第三个数和第四个数比较,当一趟比较完成之后,会确定一个数的位置(也就是说每一趟只能确定一个数的位置,因此n个数,就需要n-1趟的比较),冒泡排序的核心就是双层嵌套循环,时间复杂度O(N2)

    public static void main(String[] args) {
        bubbleSort(new int[]{5, 1, 4, 9, 7, 10});
    }

    public static void bubbleSort(int[] arr) {

        //冒泡排序需要进行n-1趟比较,每一趟需要比较n-i个数
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length - i - 1; j++) {
                //比较相邻的两个数,需要比较
                if (arr[j] < arr[j+1]) {
                    int temp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = temp;
                }
            }
        }

        for (int i : arr) {
            System.out.print(i + "->");
        }
    }
10->9->7->5->4->1->
原文地址:https://www.cnblogs.com/nxzblogs/p/11129040.html