插入排序的思想也是比较好理解的,首先将数组的第一个元素作为已经排好的有序数组,将第二个元素按照顺序插入这个有序数组中,这时有序数组的元素个数为两个,接着就是第三个元素,插入到这个有序数组,依此循环,直到有序数组的元素个数等于刚开始排序数组的长度。
代码实现:
public class Main {
public static void main(String[] args) {
int[] arr = {2,3,8,4,9,6,1,7,5,1};
int[] arrs = insertSort(arr);
for(int i=0;i<arrs.length;i++){
System.out.println(arrs[i]);
}
}
public static int[] insertSort(int [] arry){
for(int i=1; i<arry.length;i++){
int tmp = arry[i];//记录此时的数据
int j = i;
while(j>0&&tmp<arry[j-1]){
arry[j] = arry[j-1];
j--;
}
if (j!=i){
arry[j] = tmp;
}
}
return arry;
}
}