学习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 相关文章推荐
JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
Mar 09 Javascript
Exjs 入门篇
Apr 07 Javascript
js中的前绑定和后绑定详解
Aug 01 Javascript
js获取IFRAME当前的URL的方法
Nov 13 Javascript
js中confirm实现执行操作前弹出确认框的方法
Nov 01 Javascript
使用requestAnimationFrame实现js动画性能好
Aug 06 Javascript
一个简单不报错的summernote 图片上传案例
Jul 11 Javascript
Kindeditor单独调用单图上传增加预览功能的实例
Jul 31 Javascript
微信小程序滚动Tab实现左右可滑动切换
Aug 17 Javascript
利用Javascript实现一套自定义事件机制
Dec 14 Javascript
Ionic学习日记实现验证码倒计时
Feb 08 Javascript
JavaScript同源策略和跨域访问实例详解
Apr 03 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 Document 代码注释规范
2009/04/13 PHP
PHP判断远程url是否有效的几种方法小结
2011/10/08 PHP
PHP中替换换行符的几种方法小结
2012/10/15 PHP
Yii2 rbac权限控制之rule教程详解
2016/06/23 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
php之header的不同用法总结(实例讲解)
2017/11/28 PHP
为JQuery EasyUI 表单组件增加焦点切换功能的方法
2017/04/13 jQuery
Angular2使用Augury来调试Angular2程序
2017/05/21 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
重新认识vue之事件阻止冒泡的实现
2018/08/02 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
2019/11/13 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
2020/04/11 Javascript
Vue实现PC端靠边悬浮球的代码
2020/05/09 Javascript
通过实例解析js可枚举属性与不可枚举属性
2020/12/02 Javascript
Python 时间操作例子和时间格式化参数小结
2014/04/24 Python
关于numpy中np.nonzero()函数用法的详解
2017/02/07 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
python框架django项目部署相关知识详解
2019/11/04 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
Canvas globalCompositeOperation
2018/12/18 HTML / CSS
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
SmartBuyGlasses美国官网:太阳眼镜和眼镜
2017/08/20 全球购物
Watch Station官方网站:世界一流的手表和智能手表
2020/01/05 全球购物
德国亚马逊官方网站:Amazon.de
2020/11/15 全球购物
高中自我评价分享
2013/12/05 职场文书
5.1手机促销活动
2014/01/17 职场文书
少先队学雷锋活动总结范文
2014/03/09 职场文书
校园歌咏比赛主持词
2014/03/18 职场文书
六一儿童节主持词
2014/03/21 职场文书
租房合同协议书
2014/04/09 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
世界红十字日活动总结
2015/02/10 职场文书
办公经费申请报告
2015/05/15 职场文书
2019年入党思想汇报
2019/03/25 职场文书
Golang 实现获取当前函数名称和文件行号等操作
2021/05/08 Golang
python可视化之颜色映射详解
2021/09/15 Python