什么是选择算法
选择算法是说保持0-N范围内有序,依次是0-1,0-2,0-3,0-4 ~~ 直到0-N,每次要进行顺序操作的数都要与之前的所有数进行比较并按要求换位置。
为什么使用选择算法
当然还是为了数组排序啦
如何实现
/**
* 0 ~ n 保证顺序,每次都是一直往前看直到不比前面小,或者最左边。
* 外层循环从1开始的原因是因为0-0位置天然有序
* @param arr
*/
public static void insertSort(int[] arr){
int N = arr.length;
for (int i = 1;i<N;i++){
int j = i;
while (j-1>0&arr[j-1]>arr[j]){
swap(arr,j-1,j);
j--;
}
}
}
ps:swap方法详见选择排序算法