java数组排序--冒泡法和选择法

public static void main(String[] args) throws InterruptedException {
        int arr[]=new int[]{2,5,5,4,7,8,3,2,6};
        //mapPao(arr);
        xuanZe(arr);
        for(int i:arr)
            System.out.print(i);
    }
    /**
     * 冒泡排序
     * @param arr   待排序数组
     */
    static void mapPao(int[] arr){
        for(int i=0;i<arr.length-1;i++)//需进行arr.length-1次比较
            for(int j=0;j<arr.length-i-1;j++)//每次比较需要arr.length-i-1次交换
                if(arr[j+1]<arr[j])
                    swap(arr,j,j+1);
    }
    /**
     * 选择排序
     * @param arr   待排序数组
     */
    static void xuanZe(int[] arr){
        for(int i=0;i<arr.length;i++)//需要循环arr.length次
            for(int j=i;j<arr.length;j++)//每次循环和arr[i]比较,决定是否交换
                if(arr[j]<arr[i])
                    swap(arr,i,j);
    }
    /**
     * 交换数组元素
     * @param arr   待交换数组
     * @param index1    索引1
     * @param index2    索引2
     */
    static void swap(int[] arr,int index1,int index2){
        int temp=arr[index1];
        arr[index1]=arr[index2];
        arr[index2]=temp;
    }
原文地址:https://www.cnblogs.com/cnsec/p/13286829.html