插入排序的原理:
确定插入点;相应数组元素后移;插入元素
public class ChaRu {
public static void main(String[] args) {
int[] nums = { -23, 23, 14, 56, 89, 102, 234 };
for (int i = 1; i < nums.length; i++) {
// 把i位置上的数据插入【0,i-1】的数列中,使之【0,i】有序
// 确定插入点的位置
int index = i;
int n = nums[i];
for (int j = 0; j <= i - 1; j++) {
if (nums[j] > n)
{
index = j;
break;
}
}
// 优化
if (index == i)
continue;
// 从i-1到index,依次后移
for (int j = i - 1; j >= index; j--) {
nums[j + 1] = nums[j];
}
nums[index] = n;
}
for (
int i : nums) {
System.out.print(i + " ");
}
}
}