文本浏览器
文章号 : 6 | 阅读量 : 38+1 | AAW值(?) : 0.61 (仅供参考)
直接插入排序-二分查找法
发布者 : ONEPIECE | 发布时间 : 2019-01-05 11:41:29文章号 : 6 | 阅读量 : 38+1 | AAW值(?) : 0.61 (仅供参考)
算法原理
①. 从第一个元素开始,该元素可以认为已经被排序
②. 取出下一个元素,在已经排序的元素序列中从后向前扫描
③. 如果该元素(已排序)大于新元素,将该元素移到下一位置
④. 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
⑤. 将新元素插入到该位置后
⑥. 重复步骤②~⑤
动图: https://itimetraveler.github.io/gallery/sort-algorithms/Insertion-sort-example-300px.gif
这张动图可以很完整的理解二分查找法
实现语句
//二分查找法
for(int i = 1; i < nums.length; i++) {
int temp = nums[i]; //当前操作符
System.out.println(temp);
for (int j = i; j >= 0; j--) {
if (j > 0 && nums[j-1] > temp) {
nums[j] = nums[j-1];
} else {
nums[j] = temp;
break;
}
}
}
P.S.:建议在纸上模拟一次二分查找法的分析过程
附看不懂的自绘图