【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));
}
}
posted @ 2023-02-24 11:20  -YBP杨社长  阅读(18)  评论(0)    收藏  举报