学习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 相关文章推荐
网站上面有这种切换效果
Jun 26 Javascript
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
Jun 18 Javascript
常见JS效果之图片减速度滚动实现代码
Dec 08 Javascript
解析js如何获取当前url中的参数值并复制给input
Jun 23 Javascript
js获取当前日期代码适用于网页头部
Jun 27 Javascript
JS实现随机数生成算法示例代码
Aug 08 Javascript
全面解析bootstrap格子布局
May 22 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
Dec 19 Javascript
Bootstrap popover用法详解
Dec 22 Javascript
基于 Bootstrap Datetimepicker 联动
Aug 03 Javascript
layer.prompt使文本框为空的情况下也能点击确定的方法
Sep 24 Javascript
JQuery实现折叠式菜单的详细代码
Jun 03 jQuery
映彩衣的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
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
2015/10/16 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
关于vue.js v-bind 的一些理解和思考
2017/06/06 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
2020/03/06 Javascript
[08:38]DOTA2-DPC中国联赛 正赛 VG vs Elephant 选手采访
2021/03/11 DOTA
使用Python的Flask框架实现视频的流媒体传输
2015/03/31 Python
使用Python判断质数(素数)的简单方法讲解
2016/05/05 Python
Linux下安装python3.6和第三方库的教程详解
2018/11/09 Python
python进行文件对比的方法
2018/12/24 Python
python对绑定事件的鼠标、按键的判断实例
2019/07/17 Python
python实现通过队列完成进程间的多任务功能示例
2019/10/28 Python
Windows下python3安装tkinter的问题及解决方法
2020/01/06 Python
pytorch读取图像数据转成opencv格式实例
2020/06/02 Python
详解CSS3的图层阴影和文字阴影效果使用
2016/06/09 HTML / CSS
HTML5+WebSocket实现多文件同时上传的实例
2016/12/29 HTML / CSS
编写用C语言实现的求n阶阶乘问题的递归算法
2014/10/21 面试题
新闻专业本科生的自我评价分享
2013/11/20 职场文书
教你打造完美的创业计划书
2014/01/06 职场文书
宣传策划类求职信范文
2014/01/31 职场文书
致400米运动员广播稿
2014/02/07 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
陈欧广告词
2014/03/14 职场文书
文科毕业生自荐书范文
2014/04/17 职场文书
群众路线查摆问题及整改措施
2014/10/10 职场文书
欠款证明
2015/06/24 职场文书
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS
如何在Python中妥善使用进度条详解
2022/04/05 Python
TV动画《八十龟酱观察日记》第四季宣传PV公布
2022/04/06 日漫
Tomcat配置访问日志和线程数
2022/05/06 Servers
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript
HTML页面点击按钮关闭页面的多种方式
2022/12/24 HTML / CSS