【java数据结构与算法】插入排序
【插入排序解析】
起始:
假设第一个元素为已经排好序
那么我们就要从数组的第二个元素开始
每一轮确定1一个元素的正确位置
所以外层循环的控制变量为 [1,arr.length)的左闭右开区间
外层循环控制比较轮次的同时,也是每轮需要比较的数组元素的下标
因为插入排序的原理为 将待排序的数组元素插入到有序的假设数组内
这个假设的有序数组是变化的,每轮比较完都会增加,
所以用内循环变量控制元素与这个动态变化的有序数组的比较次序
public class InsertSort1 {
public static void main(String[] args) {
int[] arr = new int[]{15,13,20,4,9,3};
for (int i=1;i<arr.length;i++){
for (int j=0;j<i;j++){
if (arr[i]<arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
}
浙公网安备 33010602011771号