算法导论之js实现--插入排序
更新日期:
插入排序
排序问题
- 输入:n个数的一个序列
<a1, a2, ..., an>
- 输出:输入序列的一个排列
<a1', a2', ..., an'>
,满足a1' <= a2' <= ... <= an'
思路
插入排序的工作方式像许多人排序一手扑克牌:
- 左手为空,桌子上牌面向下
- 每次从桌子上拿走一张牌插入左手中正确的位置
- 为了找到正确位置,从右到左将它与已经在手中的每张牌进行比较,然后插入
- 重复步骤2~3
js实现
|
|
验证
|
|
单数组插入排序
思路
这里在一个数组中进行插入排序:
- 从第一个元素开始,该元素可以认为已经被排序
- 取出下一个元素,在已经排序的元素序列中从后向前扫描
- 如果该元素(已排序)小于新元素,将新元素插入该元素下一位置
- 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置,将新元素插入到该位置后
- 若无,则将新元素插入最左侧
- 重复步骤2~5
js实现
|
|
验证
|
|
查看Github有更多内容噢:https://github.com/godbasin
更欢迎来被删的前端游乐场边撸猫边学前端噢
码生艰难,写文不易,给我家猪囤点猫粮了喵~