js 冒泡排序法,及双冒泡法

var a = [];
var len =19999;
for(var l=len;l--;){
    a.push(l);
}
a.sort()
var t1 = new Date;
//双冒泡排序
for(var i=0;i<len;i+=2){
    var temp;
    if(a[i]>a[i+1]){
        temp = a[i];
        a[i] = a[i+1];
        a[i+1] = temp;
    }
    for(var k = i;k<len;k++){    
        if(a[i]>a[k]){
            temp = a[k];
            a[k] = a[i];
            a[i] = temp;
        }
        if(a[i+1]>a[k]){
            temp = a[k];
            a[k] = a[i+1];
            a[i+1] = temp;
        }    
    }
};
/*
 //冒泡排序
 for(var i=0;i<len-1;i++){
    var temp;
    for(var k = 0;k<len-1-i;k++){    
        if(a[k]>a[k+1]){
            temp = a[k+1];
            a[k+1] = a[k];
            a[k] = temp;
        }    
    }
};*/
var t2 = new Date;
console.log(t2.getTime()-t1.getTime());

 直接上代码了,共大家参考,测试了下,双冒泡比单冒泡快一倍的速度,希望对各位有用哦!

posted @ 2013-07-10 18:03  北京-木木  阅读(567)  评论(0编辑  收藏  举报