两种排序的不同:
  • 选择排序的数组左边是排好序的,并且左边的数组元素的值永远小于右边的任意值,左边不动,遍历右边数组,从右边选出里面最小的依次放在左边数组的最右边
  • 插入排序的左边依然是排好序的,但是插入排序是右边不动,遍历左边数组,从右边数组中依次按顺序抽出元素,再通过遍历左边数组的方式,插入到左边数组的相应位置

 

public static void selectedSort(int[] arr) {
        int temp;
        for (int j = 0;j < arr.length-1; j++){
            for (int i = j + 1;i < arr.length;i++){
                if (arr[j] > arr[i]){
                    temp = arr[j];
                    arr[j] = arr[i];
                    arr[i] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(arr));
    }

 

public static void insertSort(int[] arr){
        for (int i = 1;i < arr.length;i++){
            for (int j = 0;j < i;j++){
                if (arr[j] > arr[i]){
                    int temp = arr[j];
                    arr[j] = arr[i];
                    arr[i] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(arr));
}

 

 posted on 2020-11-03 21:53  又在化学楼迷路了  阅读(197)  评论(0)    收藏  举报