JS实现快排

时间:2014-01-16 20:33:22   收藏:0   阅读:556
  
bubuko.com,布布扣
/*采用快排的方法排序,取第一个值为轴对数组进行分割排序,不断迭代后实现数组的排序*/
//定义分割函数
function partF(A,low, high){
    var temp = A[low];
    while(low < high)
    {
        while(low < high && A[high] >= temp)
            high--;
        A[low] = A[high];
        while(low < high && A[low] <= temp)
            low++;
        A[high] = A[low];
    }
    A[low] = temp;
    return low;
}

//快排函数
function Qsort(A,low,high){
    var tempL;
    if(low < high)
    {
        tempL = partF(A,low,high);
        Qsort(A,low,tempL-1);
        Qsort(A,tempL+1,high);
    }
}
bubuko.com,布布扣
bubuko.com,布布扣
//测试代码
window.onload = function(){ var A = [2,7,8,6,1,4,3,9,5,10]; Qsort(A,0,A.length-1); console.log(A); }
bubuko.com,布布扣

 


原文:http://www.cnblogs.com/mangoWeb/p/3518468.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!