学习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(跨)iframe操作DOM(示例代码)
Dec 13 Javascript
JavaScript实现简单的二级导航菜单实例
Apr 15 Javascript
Javascript动态创建表格及删除行列的方法
May 15 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
May 30 Javascript
BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析
Dec 01 Javascript
jQuery实现可拖拽3D万花筒旋转特效
Jan 03 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
Feb 19 Javascript
利用JS制作万年历的方法
Aug 16 Javascript
vue中父子组件注意事项,传值及slot应用技巧
May 09 Javascript
vue中的inject学习教程
Apr 24 Javascript
javascript的delete运算符知识点总结
Nov 19 Javascript
vue各种事件监听实例(小结)
Jun 24 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
Apache 配置详解(最好的APACHE配置教程)
2010/07/04 PHP
php 字符串替换的方法
2012/01/10 PHP
php 类自动载入的方法
2015/06/03 PHP
php检测文本的编码
2015/07/26 PHP
服务器安全设置的几个注册表设置
2007/07/28 Javascript
JavaScript汉诺塔问题解决方法
2015/04/21 Javascript
基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
2016/02/22 Javascript
JavaScript 经典实例日常收集整理(常用经典)
2016/03/30 Javascript
JS本地刷新返回上一页代码
2016/07/25 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
Angular.JS中指令ng-if的注意事项小结
2017/06/21 Javascript
es6学习之解构时应该注意的点
2017/08/29 Javascript
浅析java线程中断的办法
2018/07/29 Javascript
在Web关闭页面时发送Ajax请求的实现方法
2019/03/07 Javascript
Vue实现todo应用的示例
2021/02/20 Vue.js
[03:02]生活中的Dendi之野外度假篇
2016/08/09 DOTA
wxPython事件驱动实例详解
2014/09/28 Python
详解Python程序与服务器连接的WSGI接口
2015/04/29 Python
python获取命令行输入参数列表的实例代码
2018/06/23 Python
python super的使用方法及实例详解
2019/09/25 Python
python文件处理fileinput使用方法详解
2020/01/02 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
2020/03/02 Python
python如何实现DES加密
2020/09/21 Python
pytorch下的unsqueeze和squeeze的用法说明
2021/02/06 Python
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
成功的酒店创业计划书
2013/12/27 职场文书
保密工作实施方案
2014/02/24 职场文书
法制宣传日活动总结
2014/04/29 职场文书
教室标语大全
2014/06/21 职场文书
房屋出售授权委托书
2014/10/12 职场文书
匿名检举信范文
2015/03/02 职场文书
2016国庆节活动宣传语
2015/11/25 职场文书
2019最新劳动仲裁申请书!
2019/07/08 职场文书
php7中停止php-fpm服务的方法详解
2021/05/09 PHP
pandas数值排序的实现实例
2021/07/25 Python
Python3的进程和线程你了解吗
2022/03/16 Python