先来看一张便于理解插入的动图
package com.company;
/**
*插入排序
*@author g0rez
*@data 2021-05-13
*最佳情况:T(n) = O(n) 最坏情况:T(n) = O(n2) 平均情况:T(n) = O(n2)
*/
public class 插入排序 {
public static void main(String[] args) {
int[] arr =new int[]{2,4,3,5,6,1,7,8,10,9};
insertSort(arr);
for(int i = 0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
private static void insertSort(int[] arr) {
int i,j,temp;
for(i=1;i<arr.length;i++) {
temp=arr[i];
for(j=i-1;j>=0;j--) {
if(temp>arr[j]) {
break;
}else {
arr[j+1]=arr[j];
}
}
arr[j+1]=temp;
}
}
}