luqingfei@C++

为中华之崛起而崛起!
兼听则明,偏听则暗。

javascript实现的插入排序算法

<script type="text/javascript">
//格式化时间
/*
*
 * 格式化时间<br />
 * eg: new Date().format('yyyy-MM-dd HH:mm:ss')//2009-10-19 16:21:30
 
*/
Date.prototype.format 
= function(format) {
 
var o = {
  
"M+" :this.getMonth() + 1// month
  "d+" :this.getDate(), // day
  "H+" :this.getHours(), // hour
  "m+" :this.getMinutes(), // minute
  "s+" :this.getSeconds(), // second
  "q+" :Math.floor((this.getMonth() + 3/ 3), // quarter
  "S" :this.getMilliseconds()
 
// millisecond
 }
 
if (/(y+)/.test(format))
  format 
= format.replace(RegExp.$1, (this.getFullYear() + "")
    .substr(
4 - RegExp.$1.length));
 
for ( var k in o)
  
if (new RegExp("(" + k + ")").test(format))
   format 
= format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k]
     : (
"00" + o[k]).substr(("" + o[k]).length));
 
return format;
}


var arr = new Array(524613);
document.write(
"插入排序法:");
document.write(
"<br />" + new Date().format('yyyy-MM-dd HH:mm:ss.S'));
document.write(
"<br />排序前:" + arr.join(""));
document.write(
"<br />排序后:" + InsertionSort(arr));
document.write(
"<br />" + new Date().format('yyyy-MM-dd HH:mm:ss.S'));

//插入排序法
function InsertionSort(arr)
{
    
//******核心部分开始************************************
    for(var i=1; i<arr.length; i++)
    {
        
var key = arr[i];//关键字,从序列的第2个元素开始。
        var j = i - 1;//关键字元素的前一个元素索引值。从零开始。
        
        
//遍历关键字前的序列,从后向前逐个与关键字比较,如果大于关键字,就向后移一位。
        while(j >= 0 && key < arr[j])
        {
            arr[j
+1= arr[j];//把比关键字大的元素,
            j--;//从后向前遍历,所以减减。
        }
        
        
//经过上一个循环比较后,j当前指的元素是小于关键字的。
        //所以关键字应放置在j+1位置。
        arr[j+1= key;
    }
    
//******核心部分结束************************************
    
    
return arr.join("");//返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。
}

</script>

posted on 2010-11-24 15:26 luqingfei 阅读(340) 评论(0)  编辑 收藏 引用 所属分类: 数据结构与算法


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2013年7月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

统计

留言簿(6)

随笔分类(109)

随笔档案(105)

Blogers

Game

Life

NodeJs

Python

Useful Webs

大牛

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜