122-123_容器_排序_冒泡排序

来源:互联网 发布:江西理工大学软件学院 编辑:程序博客网 时间:2024/05/21 13:46

这里写图片描述

package collection.sort.bubble;import java.util.Arrays;public class BubbleSort {    /**     * 最终版本:考虑存在顺序     * @author Administrator     *     */    public static void main(String[] args) {                int[] arr ={1,2,9,3,4};        sort(arr);        System.out.println("==========final============");        arr =new int[]{9,1,2,3,4};        sortFinal(arr);    }    //最终版本,减少每一趟的次数    public static void sortFinal(int[] arr){        boolean sorted= true;        for(int j=0;j<arr.length-1;j++){ //趟数            System.out.println("第"+(j+1)+"趟");            sorted =true; //假定有序            for(int i=0;i<arr.length-1-j;i++){ //次数                System.out.print("第"+(i+1)+"次");                if(arr[i]>arr[i+1]){                    int temp = arr[i];                    arr[i] =arr[i+1];                    arr[i+1] =temp;                    sorted =false; //假定失败                }                System.out.println(Arrays.toString(arr));            }            if(sorted){ //减少趟数                break;            }        }    }    //第二版本,减少每一趟的次数    public static void sort(int[] arr){        int len =arr.length;        for(int j=0;j<len-1;j++){ //趟数            System.out.println("第"+(j+1)+"趟");            for(int i=0;i<len-1-j;i++){ //次数                System.out.print("第"+(i+1)+"次");                    if(arr[i]>arr[i+1]){                        int temp = arr[i];                        arr[i] =arr[i+1];                        arr[i+1] =temp;                    }                    System.out.println(Arrays.toString(arr));            }        }    }}