学习javascript,实现插入排序实现代码


Posted in Javascript onJuly 31, 2011

插入排序

插入排序是这样实现的:


首先新建一个空列表,用于保存已排序的有序数列(我们称之为"有序列表")。


从原数列中取出一个数,将其插入"有序列表"中,使其仍旧保持有序状态。


重复2号步骤,直至原数列为空。


插入排序的平均时间复杂度为平方级的,效率不高,但是容易实现。它借助了"逐步扩大成果"的思想,使有序列表的长度逐渐增加,直至其长度等于原列表的长度。
(引自百度百科)
javascript代码

<script type="text/javascript"> 
var org = [5, 4, 3, 2, 1, 6, 7, 9, 8, 10]; 
var tempArr = new Array(); 
for (var i = 0; i < org.length; i++) { 
if (i == 0) { 
tempArr[0] = org[0]; //把第一个元素放到新序列 
} else { 
for (var j = 0; j < tempArr.length; j++) { 
if (org[i] > tempArr[j]) { 
//如果是新序列的最后一个元素,则插入 
if (j == tempArr.length - 1) { 
tempArr[j + 1] = org[i]; 
break; 
} else {//如果不是最后一个元素,则往后移动 
continue; 
} 
} else { 
//移动新序列、然后插入 
for (var k = tempArr.length - 1; k >= j; k--) { 
tempArr[k + 1] = tempArr[k]; 
} 
tempArr[j] = org[i]; 
break; 
} 
} 
} 
} 
alert(tempArr); 
</script>
Javascript 相关文章推荐
js 禁用只读文本框获得焦点时的退格键
Apr 25 Javascript
jQuery+.net实现浏览更多内容(改编php版本)
Mar 28 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
Aug 14 Javascript
require.js深入了解 require.js特性介绍
Sep 04 Javascript
浅谈jQuery事件绑定原理
Jan 02 Javascript
javascript事件委托的方式绑定详解
Jun 10 Javascript
angularJs关于指令的一些冷门属性详解
Oct 24 Javascript
Node.js 的模块知识汇总
Aug 16 Javascript
Node.js动手撸一个静态资源服务器的方法
Mar 09 Javascript
微信小程序如何再次获取用户授权的方法
May 10 Javascript
利用JS判断元素是否为数组的方法示例
Jan 08 Javascript
html5以及jQuery实现本地图片上传前的预览代码实例讲解
Mar 01 jQuery
映彩衣的js随笔(js图片切换效果)
Jul 31 #Javascript
IE6下focus与blur错乱的解决方案
Jul 31 #Javascript
EXTJS记事本 当CompositeField遇上RowEditor
Jul 31 #Javascript
Javascript 类、命名空间、代码组织代码
Jul 31 #Javascript
仅img元素创建后不添加到文档中会执行onload事件的解决方法
Jul 31 #Javascript
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
Jul 31 #Javascript
读jQuery之十二 删除事件核心方法
Jul 31 #Javascript
You might like
PHP 变量定义和变量替换的方法
2009/07/30 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
用JS控制回车事件的代码
2011/02/20 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
jQuery中extend()和fn.extend()方法详解
2015/06/03 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
JS传递对象数组为参数给后端,后端获取的实例代码
2016/06/28 Javascript
基于JavaScript实现瀑布流效果
2017/03/29 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
Angular.js中ng-include用法及多标签页面的实现方式详解
2017/05/07 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
深入理解Vue router的部分高级用法
2018/08/15 Javascript
python之import机制详解
2014/07/03 Python
python实现比较两段文本不同之处的方法
2015/05/30 Python
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
Python绑定方法与非绑定方法详解
2017/08/18 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
关于django 数据库迁移(migrate)应该知道的一些事
2018/05/27 Python
浅谈python下tiff图像的读取和保存方法
2018/12/04 Python
python url 参数修改方法
2018/12/26 Python
python global和nonlocal用法解析
2020/02/03 Python
pandas中ix的使用详细讲解
2020/03/09 Python
python 日志 logging模块详细解析
2020/03/31 Python
Numpy(Pandas)删除全为零的列的方法
2020/09/11 Python
琳达·法罗眼镜英国官网:Linda Farrow英国
2021/01/19 全球购物
机械电子工程专业推荐信范文
2013/11/20 职场文书
岗位职责范本
2013/11/23 职场文书
电子信息工程自荐信
2014/05/26 职场文书
贸易经济专业自荐书
2014/06/29 职场文书
物业客服专员岗位职责
2015/04/07 职场文书
2015初中团委工作总结
2015/07/28 职场文书
《田忌赛马》教学反思
2016/02/19 职场文书
MYSQL 运算符总结
2021/11/11 MySQL
MySQL限制查询和数据排序介绍
2022/03/25 MySQL
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js