简单插入排序
简单插入排序的基本思路
1.将数组的前n个数视为一个有序数列(先将第一个数视为有序数列,然后前两个数,再前三个数)
2.将第n+1与前面的所有数进行比较,找到该数所在位置将其插入(其他数依次向后挪动一位),直到排列完成。
代码
public class Insertsort{
static void insertsort(int[] arr){
for(int i = 1; i < arr.length;i++){//从arr[1]开始比较
int temp = arr[i];//将当前值接下来好进行比较和换位
int j = i-1;//当前值的前一个值
while(j>=0 && arr[j] > temp ){//j>=0 保证当前值前面有值
arr[j+1] = arr[j];//当条件满足时,将值往后挪
j--;
}
//将当前值插入
arr[j+1] = temp;
}
}
public static void main(String[] args) {
int[] a = {1,23,6,7,8,9,10,4,3,2,78,5,} ;
insertsort(a);
for(int i=0;i<a.length;i++)
{
System.out.println(a[i]);
}
}
}