学习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 打开页面window.location和window.open的区别
Mar 17 Javascript
JQuery1.6 使用方法三
Nov 23 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
May 08 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
Oct 17 Javascript
jQuery实现的网页竖向菜单效果代码
Aug 26 Javascript
JS表格组件神器bootstrap table详解(强化版)
May 26 Javascript
Seajs是什么及sea.js 由来,特点以及优势
Oct 13 Javascript
引入JavaScript时alert弹出框显示中文乱码问题
Sep 16 Javascript
JS实现简单的星期格式转换功能示例
Jul 23 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
Aug 26 Javascript
Nuxt使用Vuex的方法示例
Sep 06 Javascript
vue 单页应用和多页应用的优劣
Oct 22 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入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
2011/07/14 PHP
解析php中如何直接执行SHELL
2013/06/28 PHP
destoon二次开发入门示例
2014/06/20 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
2016/07/28 PHP
php+webSoket实现聊天室示例代码(附源码)
2017/02/17 PHP
PHP实现的常规正则验证helper公共类完整实例
2017/04/27 PHP
PHP标准库 (SPL)――Countable用法示例
2020/06/05 PHP
JavaScript constructor和instanceof,JSOO中的一对欢喜冤家
2009/05/25 Javascript
关于JavaScript的面向对象和继承有利新手学习
2013/01/11 Javascript
Js 获取Gridview选中行的内容操作步骤
2013/02/05 Javascript
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
js控制网页前进和后退的方法
2015/06/08 Javascript
javascript获取系统当前时间的方法
2015/11/19 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
2015/12/25 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
2016/11/20 Javascript
浅谈Vue SPA 首屏加载优化实践
2017/12/15 Javascript
vue路由拦截及页面跳转的设置方法
2018/05/24 Javascript
详解Webpack多环境代码打包的方法
2018/08/03 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
2019/05/29 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
Ant Design Vue table中列超长显示...并加提示语的实例
2020/10/31 Javascript
[02:48]DOTA2超级联赛专访海涛:你们的选择没有错
2013/06/07 DOTA
python文件和目录操作方法大全(含实例)
2014/03/12 Python
Python算术运算符实例详解
2017/05/31 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
Python3使用tesserocr识别字母数字验证码的实现
2021/01/29 Python
HTML5拖拽的简单实例
2016/05/30 HTML / CSS
公积金转移接收函
2014/01/11 职场文书
小学音乐教学反思
2014/02/05 职场文书
内刊编辑求职自荐书范文
2014/02/19 职场文书
政治表现评语
2014/05/04 职场文书
2016年最美孝心少年事迹材料
2016/02/26 职场文书
详解MySQL中的pid与socket
2021/06/15 MySQL
Django实现WebSocket在线聊天室功能(channels库)
2021/09/25 Python
Python matplotlib安装以及实现简单曲线的绘制
2022/04/26 Python