学习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 节点操作 以及DOMDocument属性和方法
Dec 06 Javascript
javascript document.referrer 用法
Apr 30 Javascript
Javascript中Eval函数的使用
Mar 23 Javascript
jquery 隐藏与显示tr标签示例代码
Jun 06 Javascript
20条学习javascript的编程规范的建议
Nov 28 Javascript
JavaScript保存并运算页面中数字类型变量的写法
Jul 06 Javascript
AngularJS中过滤器的使用与自定义实例代码
Sep 17 Javascript
对Angular.js Controller如何进行单元测试
Oct 25 Javascript
Angularjs中使用轮播图指令swiper
May 30 Javascript
详解a++和++a的区别
Aug 30 Javascript
JS实现用特殊符号替换字符串的中间部分区域的实例代码
Jul 24 Javascript
微信小程序实现选择地址省市区三级联动
Jun 21 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本地服务器分享
2013/02/19 PHP
weiphp微信公众平台授权设置
2016/01/04 PHP
阿里云PHP SMS短信服务验证码发送方法
2017/07/11 PHP
Nodejs sublime text 3安装与配置
2014/06/19 NodeJs
jQuery中triggerHandler()方法用法实例
2015/01/19 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
JavaScript与jQuery实现的闪烁输入效果
2016/02/18 Javascript
JavaScript手机振动API
2016/06/11 Javascript
JavaScript之WebSocket技术详解
2016/11/18 Javascript
原生js实现鼠标跟随效果
2017/02/28 Javascript
小程序实现上传视频功能
2020/08/18 Javascript
利用selenium 3.7和python3添加cookie模拟登陆的实现
2017/11/20 Python
Python字符串中添加、插入特定字符的方法
2019/09/10 Python
使用python实现希尔、计数、基数基础排序的代码
2019/12/25 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
2020/01/20 Python
Python logging模块异步线程写日志实现过程解析
2020/06/30 Python
PyTorch: Softmax多分类实战操作
2020/07/07 Python
常用的10个Python实用小技巧
2020/08/10 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
英国票务网站:Ticketmaster英国
2018/08/27 全球购物
英国自行车商店:AW Cycles
2021/02/24 全球购物
电子商务应届生求职信
2013/11/16 职场文书
幼儿园园长岗位职责
2013/11/26 职场文书
应用艺术毕业生的自我评价
2013/12/04 职场文书
公务员总结性个人自我评价
2013/12/05 职场文书
建筑班组长岗位职责
2014/01/02 职场文书
学校消防演习方案
2014/02/19 职场文书
弘扬焦裕禄精神走群众路线思想汇报
2014/09/12 职场文书
学校机关党总支领导班子整改工作方案
2014/10/26 职场文书
2014年库房工作总结
2014/11/26 职场文书
公司劳动纪律管理制度
2015/08/04 职场文书
2016同学毕业寄语大全
2015/12/04 职场文书
Python爬虫数据的分类及json数据使用小结
2021/03/29 Python
Python matplotlib绘制雷达图
2022/04/13 Python
Vue操作Storage本地化存储
2022/04/29 Vue.js
基于Python编写一个监控CPU的应用系统
2022/06/25 Python