交换排序:冒泡排序

冒泡排序:

  百度百科:它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
  这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
排序过程:

 

 

示例代码:
    /**
     * 交换排序:冒泡排序
     * @param array
     */
    public static void BubbleSort(int[] array){
        for(int i=0;i<array.length;i++){
            int temp;
            for(int j=0;j<array.length-i-1;j++){
                if(array[j]>array[j+1]){
                    temp=array[j+1];
                    array[j+1]=array[j];
                    array[j]=temp;
                }
            }
        }
        System.out.println(Arrays.toString(array));
    }

    public static void main(String[] args) {
        int[] array={49,38,65,97,76,13,27,49};
        System.out.println("未排序数组:");
        System.out.println(Arrays.toString(array));
        //insertSort(array);
        //BInsertSort(array);
        BubbleSort(array);
    }

示例结果:

 

 

posted @ 2020-04-23 13:31  Cool_Yang  阅读(157)  评论(0)    收藏  举报