javascript算法学习(直接插入排序)


Posted in Javascript onApril 12, 2011

1、基本思想
 假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n]。从i=2起直至i=n为止,依次将R[i]插入当前的有序区R[1..i-1]中,生成含n个记录的有序区。

<!doctype html> 
<html> 
<head><title>javascript直接插入排序</title> 
<meta charset = "utf-8" /> 
</head> 
<body> 
<script> 
var arr = []; 
for(var i=0;i<20;++i) 
{ 
arr.push(~~(Math.random()*20)); 
} 
document.write(arr+"<br/>"); 
Array.prototype.insertionSort = function() 
{ 
var j; 
var value; 
for(var i=1;i<this.length;i++) 
{ 
j=i; 
value = this[j]; 
while(j>0 && this[j-1]>value) 
{ 
this[j] = this[j-1]; 
j--; 
} 
this[j] = value; 
} 
} 
arr.insertionSort(); 
document.write(arr+"<br/>"); 
</script> 
</body> 
</html>
Javascript 相关文章推荐
JS中正则表达式只有3种匹配模式(没有单行模式)详解
Jul 28 Javascript
JS触发服务器控件的单击事件(详解)
Aug 06 Javascript
树结构之JavaScript
Jan 24 Javascript
js Canvas绘制圆形时钟效果
Feb 17 Javascript
jquery仿微信聊天界面
May 06 jQuery
vue模块拖拽实现示例代码
Mar 09 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
Apr 25 Javascript
MockJs结合json-server模拟后台数据
Aug 26 Javascript
小程序实现锚点滑动效果
Sep 23 Javascript
Vue.js标签页组件使用方法详解
Oct 19 Javascript
AudioContext 实现音频可视化(web技术分享)
Feb 24 Javascript
vue postcss-px2rem 自适应布局
May 15 Vue.js
jQuery实战之仿淘宝商城左侧导航效果
Apr 12 #Javascript
jquery监控数据是否变化(修正版)
Apr 12 #Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
Apr 12 #Javascript
javascript 学习笔记(八)javascript对象
Apr 12 #Javascript
jQuery的初始化与对象构建之浅析
Apr 12 #Javascript
避免回车键导致的页面无意义刷新的解决方法
Apr 12 #Javascript
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
Apr 12 #Javascript
You might like
php数字游戏 计算24算法
2012/06/10 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
php如何连接sql server
2015/10/16 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
模仿百度三维地图的js数据分享
2011/05/12 Javascript
Js nodeType 属性全面解析
2013/11/14 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
2015/12/08 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
使用Web Uploader实现多文件上传
2016/06/08 Javascript
用js动态添加html元素,以及属性的简单实例
2016/07/19 Javascript
Three.js快速入门教程
2016/09/09 Javascript
详解webpack性能优化——DLL
2017/10/20 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
2018/04/23 Javascript
详解微信小程序实现WebSocket心跳重连
2018/07/31 Javascript
es6数值的扩展方法
2019/03/11 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
Vue 使用Props属性实现父子组件的动态传值详解
2019/11/13 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
2020/05/10 Javascript
vue实现可移动的悬浮按钮
2021/03/04 Vue.js
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
python 生成不重复的随机数的代码
2011/05/15 Python
Python开发常用的一些开源Package分享
2015/02/14 Python
Python CSV模块使用实例
2015/04/09 Python
python虚拟环境的安装配置图文教程
2017/10/20 Python
Python闭包和装饰器用法实例详解
2019/05/22 Python
python2和python3实现在图片上加汉字的方法
2019/08/22 Python
Python实现打印实心和空心菱形
2019/11/23 Python
Python实现AI换脸功能
2020/04/10 Python
html5-canvas中使用clip抠出一个区域的示例代码
2018/05/25 HTML / CSS
linux面试相关问题
2013/04/28 面试题
电子商务求职信
2014/06/15 职场文书
2015年十一国庆节演讲稿
2015/03/20 职场文书
2015年安康杯竞赛活动总结
2015/03/26 职场文书
2016党校培训心得体会
2016/01/07 职场文书
pandas提升计算效率的一些方法汇总
2021/05/30 Python