冒泡排序Bubble_Sort

Posted lbrs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序Bubble_Sort相关的知识,希望对你有一定的参考价值。

基本原理:对于冒泡排序来说,基本思想是从第一个元素开始,数组中的数据依次和它后面相邻的数据进行比较,即1和2比较,2和3比较,a和a+1比较,直到倒数第二位和倒数第一位的比较,如果顺序不对就进行交换,这样一次下来最大的元素会被放置在最后的位置上【以升序为例,这里是理解冒泡排序的重点。】接着,在进行一次这样的排序,只不过到倒数第二就截止。最后呢就剩第一位置的元素和第二位置的元素进行比较。这个应该比较好理解,就不上图了吧。不过如果有足够的时间,我还是愿意把图补上的。

时间复杂度:显然是O(n^2)

代码:

 

    static void bubble(int [] a)
    {
        for (int i = 0; i < a.length - 1; i++)
            for (int j = 0; j < a.length - 1 - i; j++)
                if (a[j] > a [j+1])
                {
                    int temp = a[j];
                    a[j] = a[j+1];
                    a[j+1] = temp;
                }
    }

    public static void main(String []args)
    {
        int [] a = {3, 2, 5, 1, 8, 1, 11, 8};
        bubble(a);
        for (int i : a)
            System.out.print(i+" ");
    }

 

 

 

以上是关于冒泡排序Bubble_Sort的主要内容,如果未能解决你的问题,请参考以下文章

经典排序算法--冒泡排序

排序算法之冒泡排序

erlang下lists模块sort(排序)方法源码解析

Python 冒泡排序归并排序快速排序

Java排序算法——冒泡排序

冒泡排序