学习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 相关文章推荐
JSON 入门指南 想了解json的朋友可以看下
Aug 26 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
Apr 26 Javascript
jquery实现表单输入时提示文字滑动向上效果
Aug 10 Javascript
基于JS代码实现导航条弹出式悬浮菜单
Jun 17 Javascript
简单分析javascript中的函数
Sep 10 Javascript
vue-cli如何快速构建vue项目
Apr 26 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
Jul 13 jQuery
VUE中的无限循环代码解析
Sep 22 Javascript
react实现换肤功能的示例代码
Aug 14 Javascript
前端Vue项目详解--初始化及导航栏
Jun 24 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
Jul 29 Javascript
微信分享invalid signature签名错误踩过的坑
Apr 11 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创建PowerPoint2007文档的方法
2015/12/10 PHP
PHP levenshtein()函数用法讲解
2019/03/08 PHP
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
基于jquery的图片懒加载js
2010/06/30 Javascript
javascript将相对路径转绝对路径示例
2014/03/14 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
2015/06/19 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
jQuery元素属性操作实例(设置、获取及删除元素属性)
2016/09/08 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
微信小程序 本地数据存储实例详解
2017/04/13 Javascript
微信小程序HTTP接口请求封装的实现
2019/02/21 Javascript
微信小程序如何实现点击图片放大功能
2020/01/21 Javascript
Vue axios与Go Frame后端框架的Options请求跨域问题详解
2020/03/03 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
[58:46]OG vs NAVI 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python网络编程之数据传输UDP实例分析
2015/05/20 Python
Python装饰器实现几类验证功能做法实例
2017/05/18 Python
django定期执行任务(实例讲解)
2017/11/03 Python
python远程邮件控制电脑升级版
2019/05/23 Python
python获取array中指定元素的示例
2019/11/26 Python
Numpy之将矩阵拉成向量的实例
2019/11/30 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
详解Python中的编码问题(encoding与decode、str与bytes)
2020/09/30 Python
通过HTML5规范搞定i、em、b、strong元素的区别
2017/03/04 HTML / CSS
如何打开WebSphere远程debug
2014/10/10 面试题
医科大学生的自我评价
2013/12/04 职场文书
高中毕业生生活的自我评价
2013/12/08 职场文书
矿泉水广告词
2014/03/20 职场文书
社区法制宣传月活动总结
2015/05/07 职场文书
奖励申请报告范文
2015/05/15 职场文书
2016年过年放假安排通知
2015/08/18 职场文书
2019年“我为祖国点赞”演讲稿(3篇)
2019/09/26 职场文书
在HTML中引入CSS的几种方式介绍
2021/12/06 HTML / CSS