学习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 LigerUI 使用教程入门篇
Jan 18 Javascript
简易js代码实现计算器操作
Apr 15 Javascript
JavaScript中对象属性的添加和删除示例
May 12 Javascript
javascript if条件判断方法小结
May 17 Javascript
JavaScript中提前声明变量或函数例子
Nov 12 Javascript
JS实现给对象动态添加属性的方法
Jan 05 Javascript
基于vuejs实现一个todolist项目
Apr 11 Javascript
Vue中使用vux的配置详解
May 05 Javascript
js通过Date对象实现倒计时动画效果
Oct 27 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
Feb 26 Javascript
详解vue路由
Aug 05 Javascript
JavaScript前端面试扁平数据转tree与tree数据扁平化
Jun 14 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中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
PHP+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
2016/01/07 PHP
总结PHP中DateTime的常用方法
2016/08/11 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
PHP预定义超全局数组变量小结
2018/08/20 PHP
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
Extjs grid添加一个图片状态或者按钮的方法
2014/04/03 Javascript
JavaScript中的style.cssText使用教程
2014/11/06 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
JavaScript DOM操作表格及样式
2015/04/13 Javascript
jQuery基于ajax实现星星评论代码
2015/08/07 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
Bootstrap栅格系统简单实现代码
2017/03/06 Javascript
Angular 项目实现国际化的方法
2018/01/08 Javascript
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
Vue+Express实现登录注销功能的实例代码
2019/05/05 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
js实现上传按钮并显示缩略图小轮子
2020/05/04 Javascript
js利用iframe实现选项卡效果
2020/08/09 Javascript
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
python使用socket连接远程服务器的方法
2015/04/29 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
HTML5 Canvas 起步(1) - 基本概念
2009/05/12 HTML / CSS
如何写出高性能的JSP和Servlet
2013/01/22 面试题
幼儿园中秋节活动方案2013
2014/01/29 职场文书
语文教学随笔感言
2014/02/18 职场文书
设备售后服务承诺书
2014/05/30 职场文书
党的群众路线教育实践活动教师自我剖析材料
2014/10/09 职场文书
2014年学校总务处工作总结
2014/12/08 职场文书
前台接待员岗位职责
2015/04/15 职场文书
浅谈Golang 嵌套 interface 的赋值问题
2021/04/29 Golang
尝试使用Python爬取城市租房信息
2022/04/12 Python
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android
Debian11 Xfce终端光标的颜色怎么设置?
2022/08/14 数码科技