插入排序
考研时候复习严蔚敏的数据结构,发现还有好多自己不会的东西,甚至连插入排序都忘了。特别尴尬。
插入排序的思路很简单,假设该数字前的数组已经是排好序了的,再将这个数字插入到合适的位置,再将后面的元素往后移一位。
比如4 1 9 7 20 3 5
这样一个数组
第一趟排序后:1 4 9 7 20 3 5
第二趟排序后:1 4 9 7 20 3 5
第三趟排序后:1 4 7 9 20 3 5
第三趟排序后:1 4 7 9 20 3 5
第四趟排序后:1 3 4 7 9 20 5
第五趟排序后:1 3 4 5 7 9 20
具体算法如下:
public static void insertSort(int[] nums) {
int i, j, temp;
for (i = 1;
i < nums.length;
i++) {
temp = nums[i];
for (j = i - 1;
j >= 0 && nums[j] > temp;
j--) {
nums[j + 1] = nums[j];
}
nums[j + 1] = temp;
}
}
【插入排序】代码应该非常好懂,不需要做赘述了。
推荐阅读
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 一个选择排序算法
- 排序(归并排序)
- 六级没过,考研英语70分难不难
- 【图解】9张图彻底搞懂堆排序
- 考研倒数第26天Ⅰ因为记得,所以存在
- vue|vue 上移 下移 删除 排序
- 送给跨专业考研的你
- 必须掌握的八种基本排序算法
- 孩子的艰难考研路2015.04