Java实现基本的排序算法——冒泡排序

基本思路就是索引(0,1)比较,(1,2)比较,(2,3)比较依次进行比较,最后索引最大处的值必然为最大的值,外层循环每进行一轮比较就可以减少一次 比如第一轮是(0~n-1) 第二轮就是 (0~n-2)

时间复杂度也是bigO(n2)

public class BubbleSort {
    public static void bubbleSort(int[] arr) {
        if (arr == null || arr.length < 2) {
            return;
        }
        for (int e = arr.length - 1; e > 0; e--) {
            for (int i = 0; i < e; i++) {
                if (arr[i] > arr[i + 1]) {
                    swap(arr, i, i + 1);
                }
            }
        }
    }

    public static void swap(int[] arr, int i, int j) {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }

    public static void printArray(int[] arr) {
        if (arr == null) {
            return;
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
    public static void main(String[] args) {
        int[] arr = {6, 7, 9, 3, 1};
        bubbleSort(arr);
        printArray(arr);
    }
}

时间复杂度BIG(N^2)

posted @ 2020-07-02 22:46  硬盘红了  阅读(133)  评论(0编辑  收藏  举报