排序算法:冒泡排序

2017-03-20  本文已影响0人  柠檬师傅
冒泡排序简单说明及示例代码

冒泡排序是最简单的排序之一了,其思想就是通过与相邻元素的比较和交换来把小的数交换到最前面。 这个过程类似于水泡向上升一样,所以也叫冒泡排序。举个列子对4,3,7,6,4这个无序序列进行冒泡排序。首先从后向前冒泡,4和6比较,把4交换到前面,序列变成4,3,7,4,6。同理4和8交换,变成4,3,4,7,6,3和4无需交换。4和3交换,变成3,4,4,7,6,这样一次冒泡就完了,把最小的数3排到最前面了。对剩下的序列依次冒泡就会得到一个有序序列。

public class BubbleSort {

    public static int[] bubbleSort(int[] arr){
        if(arr==null||arr.length==0){
            return null;
        }
        for(int i=arr.length-1;i>=0;i--){
            for(int c=arr.length-1;c>0;c--){
                if(arr[c]<arr[c-1]){
                    int current =arr[c];
                    arr[c]=arr[c-1];
                    arr[c-1]=current;
                }
            }
        }
        return arr;
    }
    
    public static void main(String[] args) {
    int[] arr = new int[]{1,4,2,5,2,3,6,45,234,234,5435,546546,1,2,3,4,5};
    int[] bubbleSort = bubbleSort(arr);
    System.out.print(Arrays.toString(bubbleSort));
    }
}

时间复杂度为O(n^2)

上一篇下一篇

猜你喜欢

热点阅读