冒泡排序算法(Java实现)

1.冒泡排序算法思想

重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成

2.冒泡排序算法实现步骤

(1)比较两个相邻的元素。如果第一个比第二个大,就交换他们两个
(2)对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。此时,最后一个元素是最大的数
(3)对除了最后一个元素以外的n-1个元素重复以上的步骤
(4)重复(1)(2)(3)步骤,直到没有任何一对元素需要比较

3.冒泡排序算法性能分析

性能 性能指标
最坏时间复杂度 O ( n 2 ) O(n^2) O(n2)
最好时间复杂度 O ( n ) O(n) O(n)
平均时间复杂度 O ( n 2 ) O(n^2) O(n2)
空间复杂度 O ( 1 ) O(1) O(1)
稳定性 稳定

4.冒泡排序算法代码实现(Java实现)

//顺序冒泡排序
public void bubbleSort(int[] data){
        int temp;
        for(int i = 0;i < data.length;i++){
            for(int j = 0;j<data.length-i-1;j++){
                if(data[j]>data[j+1])//逆序改为"<"号即可。
                {
                    temp = data[j+1];
                    data[j+1]=data[j];
                    data[j]=temp;
                }
            }
        }

你可能感兴趣的:(排序算法,算法,java)