常见排序算法之冒泡排序

来源:互联网 发布:淘宝发货地可以改吗 编辑:程序博客网 时间:2024/06/05 16:41

冒泡排序与选择排序一样是一种十分基础的排序算法,也是一种交换排序.

4.冒泡排序:

算法思想:
(1)依然将线性表看成两部分有序表与无序表,开始是,整个线性表为无序表.
(2)第一趟排序,从第一个元素开始,到最后一个元素,相邻元素依次两两比较,前一个元素比较大则两两交换.一趟排序以后,最大的元素,像冒泡一样,已经排到了线性表的最后一个元素.
(3)经过n-1次选择过程,将得到一个有序线性表

示意图

这里写图片描述

代码示例

/**     * @param array     * 冒泡排序     */    public static void bubbleSort(int[] array) {        for(int i=0;i<array.length-1;i++){            for(int j=1;j<=array.length-1-i;j++){                if(array[j-1]>array[j]){                    swap(j-1, j, array);                }            }        }       }

交换函数

/**     * @param i     * @param j     * @param array     */    private static void swap(int i, int j,int [] array) {        int temp=array[i];        array[i]=array[j];        array[j]=temp;    }

算法性能分析
与选择排序一样,最好,最坏,平均时间复杂度均为O(n2)

原创粉丝点击