冒泡排序

半腔热情 提交于 2020-03-20 23:41:39

3 月,跳不动了?>>>

1、思路

    对每一对相邻的元素进行比较,比如第一个元素和第二个元素比较,若第一个大,则交换;然后第二个元素和第三次元素比较.......每次比较最大的元素都会放到后面。从而达到排序效果。

2、时间复杂度

    最好 O(n) ,最坏 O(n^2) ,平均 O(n^2)

3、代码实现

public class BubbleSort {
    public static void bubbleSort(int[] arr){
        if(arr.length == 0 ||arr == null) return;
        int n = arr.length;
        for(int i=0;i<n;i++){
            for(int j=0;j<n-i-1;j++){
                if(arr[j+1] < arr[j]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
    }

    public static void main(String[] args){
        int[] arr = {50,10,90,30,70,40,80,60,20};
        bubbleSort(arr);
        for(int a:arr){
            System.out.printf(a + " ");
        }
    }
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!