插入排序
自己的理解:
将数组分为一个有序数组和无序数组,无序数组的第一个为有序数组第一个元素,每次从无序数组遍历拿元素,并和有序数组最大的开始比较,如果大于最大的直接就是这个位置,如果小于最大则将大的向前移动,再比较,比较的条件是索引大于或等于0并且插入的值一直小于插入的索引值,如果不满足条件,就将索引加一并将插入的值赋给他
int arr[] = new int[]{90, 11, 13, 7}; for (int i = 1; i < arr.length; i++) { int insertValue = arr[i]; int insertIndex = i-1; while (insertIndex>=0 && insertValue< arr[insertIndex]){ arr[insertIndex+1] = arr[insertIndex]; insertIndex--; } arr[insertIndex+1] = insertValue; }
浙公网安备 33010602011771号