插入排序有两个版本:交换法、赋值法。
交换法简单来说就是通过 swap()
函数将插入的数字交换到合适的位置,赋值法是优化的版本:
public static void sort(int[] nums) {
int len = nums.length;
for (int i = 1; i < len; i++) {
int temp = nums[i];
int j = i;
while(j > 0 && nums[j - 1] > temp) {
nums[j] = nums[j - 1];
j--;
}
nums[j] = temp;
}
}