[Javascript Data Structures] Straight Insertion Sort 直接插入法
来源:互联网 发布:股票基本书籍 知乎 编辑:程序博客网 时间:2024/05/16 08:33
每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。
从第一个元素开始 作为一个新的有序列表, 从第二个元素开始和有序列表进行比较, 排序好的第一个和第二个元素 作为新的有序列表, 此次循环结束下一次循环开始, 第三个元素和有序列表排序.......
<script type="text/javascript"> function straightInsertSort(array){ //从第二个元素开始比较 for (var i = 1; i < array.length; i++) { console.log("NO."+(i)); //无序元素和有序列表中元素比较 for (var j = i; j>0; j--) { if (array[j-1]>array[j]){ swap(array,j); } console.log(array); } } } function swap(array,j){ var mid=array[j]; array[j]=array[j-1]; array[j-1]=mid; } var array=[4,10,8,2,1]; straightInsertSort(array);</script>
Test:
第一回: i=j=1 array[j]=10, 10和4 比较 有序列表:[4,10] 第二回: j=2 array[j]=8 8 和10 比较 8再和4比较 有序列表:[4,8,10] 第三回: j=3 array[j]=2 2和10,8,4比较 有序列表:[2,4,8,10] 第四回: j=4 array[j]=1 1和10,8,4,2比较 有序列表:[1,2,4,8,10]
时间复杂度:
O(n^2)
0 0
- [Javascript Data Structures] Straight Insertion Sort 直接插入法
- 直接插入排序(Straight Insertion Sort)
- 直接插入排序(Straight Insertion Sort)
- 直接插入排序(Straight Insertion Sort)
- 直接插入排序(Straight Insertion Sort)
- 直接插入排序(Straight Insertion Sort)
- 直接插入排序(Straight Insertion Sort)
- 1.插入排序—直接插入排序(Straight Insertion Sort)
- 插入排序—直接插入排序(Straight Insertion Sort)
- 排序之直接插入排序(Straight Insertion Sort)
- 排序(三)之直接插入排序Straight Insertion Sort
- 直接插入排序算法(Straight Insertion Sort) Java实现
- 八大排序算法_直接插入排序(Straight Insertion Sort)
- 插入排序 直接插入排序的PHP实现 Straight Insertion Sort
- 数据结构 - 直接插入排序(Straight Insertion Sort) 详解 及 代码(C++)
- 直接插入排序(Straight Insertion Sort)代码及分析注释
- 排序算法之 直接插入排序算法(Straight Insertion Sort):(Python)
- PHP实现排序算法----直接插入排序(Straight Insertion Sort)
- photoshop插件开发
- 第14周项目1.4验证平衡二叉树相关算法
- Java线程池中的异常消失
- MapReduce性能优化_7. 减小数据倾斜的性能损失
- Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition
- [Javascript Data Structures] Straight Insertion Sort 直接插入法
- AlertDialog(对话框)
- 笔试题
- DM9000网卡驱动源码分析系列05 - net_device_ops(ioctl ...)
- 1006. 换个格式输出整数 (15)
- Java及安卓开发中用到的一些英文术语收录
- Revit 2014 SDK中例子整理 (一)
- spark数据处理示例一:分类
- Android Context完全解析,你所不知道的Context的各种细节