冒泡排序

作者: 小鱼嘻嘻 | 来源:发表于2017-09-02 16:54 被阅读30次

冒泡排序算法思想

冒泡排序的实现为:两两比较,前者大于后者交换,将最大的放入最后,然后重复这个步骤直到没有任何一对数字需要比较。

冒泡排序算法实现

 public static void main(String[] args) {
        int[] arr = {3,3,3,3,3,3,4, 3};

        int[] insertSort = bubbleSort(arr);
        for (int i : insertSort) {
            System.out.print(i + "  ");
        }

    }

    /**
     * 冒泡排序
     *
     * @param arr
     * @return
     */
    private static int[] bubbleSort(int[] arr) {
        if (arr.length == 0) return null;
        for (int i = arr.length - 1; i > 0; i--) {
            for (int j = 0; j < i; j++) {
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j + 1];
                    arr[j + 1] = arr[j];
                    arr[j] = temp;
                }
            }
        }
        return arr;
    }

算法复杂度

冒泡排序的最坏时间复杂度O(n^2)
冒泡排序的最好时间复杂度O(n)
冒泡排序的平均时间复杂度O(n^2)
冒泡排序的空间时间复杂度O(1)

算法稳定性

冒泡排序是稳定的

想看完整算法请点击:冒泡排序

相关文章

网友评论

    本文标题:冒泡排序

    本文链接:https://www.haomeiwen.com/subject/vidrjxtx.html