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