学习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实现简单的ajax
Jul 08 Javascript
javascript清空table表格的方法
May 14 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
May 10 Javascript
node-http-proxy修改响应结果实例代码
Jun 06 Javascript
JavaScript函数节流概念与用法实例详解
Jun 20 Javascript
JS中使用FormData上传文件、图片的方法
Aug 07 Javascript
JavaScript类的写法
Sep 17 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
Dec 21 Javascript
jQuery快速高效制作网页交互特效
Feb 24 Javascript
javascript中replace使用方法总结
Mar 01 Javascript
Element-ui中元素滚动时el-option超出元素区域的问题
May 30 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
Aug 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速成大法
2015/01/30 PHP
php实现点击可刷新验证码
2015/11/07 PHP
extjs之去除s.gif的影响
2010/12/25 Javascript
javascript学习笔记(十九) 节点的操作实现代码
2012/06/20 Javascript
js 手机号码合法性验证代码集合
2012/09/29 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
2014/01/02 Javascript
javascript禁止访客复制网页内容的实现代码
2015/08/05 Javascript
js实现仿Discuz文本框弹出层效果
2015/08/13 Javascript
Bootstrap 组件之按钮(二)
2016/05/11 Javascript
BootStrap扔进Django里的方法详解
2016/05/13 Javascript
怎么引入(调用)一个JS文件
2016/05/26 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
2016/10/27 Javascript
AngularJS服务service用法总结
2016/12/13 Javascript
js 作用域和变量详解
2017/02/16 Javascript
vue指令以及dom操作详解
2017/03/04 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
2019/01/03 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
2019/06/21 Javascript
TypeScript类型声明书写详解
2019/08/28 Javascript
在antd中setFieldsValue和defaultVal的用法
2020/10/29 Javascript
[01:03:47]VP vs NewBee Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
[07:20]2018DOTA2国际邀请赛寻真——逐梦Mineski
2018/08/10 DOTA
python交互式图形编程实例(三)
2017/11/17 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
Django Rest framework权限的详细用法
2019/07/25 Python
python算的上脚本语言吗
2020/06/22 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
2020/06/29 Python
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
公司贷款承诺书
2014/05/30 职场文书
拖欠货款起诉状
2015/05/20 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
如何用Navicat操作MySQL
2021/05/12 MySQL