- 从第二个元素开始进行插入排序
/**
* 数据插入的序列,这个序列已经是有序的
*
* 从小到大排序
*
* @param arr
*/
public static void InsertSort(int[] arr) {
int len=arr.length;
int i,j,min;
for (i = 1; i <len ; i++) {
min=arr[i];
for (j =i; j >0; j--) {
if(arr[j-1]>min){//如果找到的数字比要插入的数据大,那么大的数据占据插入数据的位置
arr[j]=arr[j-1];
}else{//但遇到的数据小于等于插入的数据时候,此时j的位置就是该插入的位置
break;//这个是必须的。
}
}
arr[j]=min;
printArr(arr);//输出每一次插入排序的结果
}
}