学习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 相关文章推荐
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
Sep 13 Javascript
jQuery实现TAB选项卡切换特效简单演示
Mar 04 Javascript
纯JS前端实现分页代码
Jun 21 Javascript
Vue.js快速入门实例教程
Oct 15 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
Aug 17 Javascript
基于JavaScript实现带数据验证和复选框的表单提交
Aug 23 Javascript
Angular4自制一个市县二级联动组件示例
Nov 21 Javascript
vue.js根据代码运行环境选择baseurl的方法
Feb 28 Javascript
浅谈Angular单元测试总结
Mar 22 Javascript
基于javascript的拖拽类封装详解
Apr 19 Javascript
javascript实现前端分页效果
Jun 24 Javascript
Postman参数化实现过程及原理解析
Aug 13 Javascript
映彩衣的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 array的学习笔记
2012/05/10 PHP
Yii把CGridView文本框换成下拉框的方法
2014/12/03 PHP
php可变长参数处理函数详解
2017/02/22 PHP
js可突破windows弹退效果代码
2008/08/09 Javascript
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
jquery学习笔记 用jquery实现无刷新登录
2011/08/08 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
js读写json文件实例代码
2014/10/21 Javascript
jQuery的ready方法详解
2014/11/27 Javascript
jQuery检测返回值的数据类型
2015/07/13 Javascript
跟我学习javascript的执行上下文
2015/11/18 Javascript
深入理解JavaScript单体内置对象
2016/06/06 Javascript
JavaScript图片处理与合成总结
2018/03/04 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
jQuery实现的五星点评功能【案例】
2019/02/18 jQuery
bootstrap table实现iview固定列的效果实例代码详解
2019/09/30 Javascript
python中__call__方法示例分析
2014/10/11 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
pandas DataFrame行或列的删除方法的实现示例
2019/08/02 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
2020/05/29 Python
Python while true实现爬虫定时任务
2020/06/08 Python
基于python实现matlab filter函数过程详解
2020/06/08 Python
Qoo10马来西亚:全球时尚和引领潮流的购物市场
2016/08/25 全球购物
adidas官方旗舰店:德国运动用品制造商
2017/11/25 全球购物
澳大利亚在线家具、灯饰和家居装饰店:LivingStyles
2018/11/20 全球购物
大学生学业生涯规划
2014/01/05 职场文书
庆元旦广播稿
2014/02/10 职场文书
保密承诺书范文
2014/03/27 职场文书
奥巴马连任演讲稿
2014/05/15 职场文书
中国梦演讲稿5分钟
2014/08/19 职场文书
房屋产权共有协议书范本
2014/11/03 职场文书
生产现场禁烟通知
2015/04/23 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang