插入排序的思想:
从数组的第二个数开始不断的和前面的数依次进行比较。需要备份被比较的元素。如果满足排序要求则continue,否则被比较过得元素的位置需要往后摞。最后空出来的位置放被比较的元素。
其代码如下:
public void insertSort1(int a[]) {
for (int i = 0; i < a.length - 1; i++) {
int temp = a[i + 1];
int j = i;
while (temp < a[j]) {//只有temp<a[j]才有继续比下去的必要
a[j + 1] = a[j];
j--;//1
if (j < 0) {//防止数组越界
break;
}
}
a[j + 1] = temp;//因为1处进行了减1处理所以后面要加1
}
print(a);
}