结构-行为-样式-Js排序算法之 快速排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结构-行为-样式-Js排序算法之 快速排序相关的知识,希望对你有一定的参考价值。

 快速排序算法,是我的算法系列博客中的第二个Js实现的算法,主要思路:    在一个数组中随机取一个数(一般都取第一个或者最后一个),使这个数与数组中其他数进行比较,如果比它大就放到它的右边,比它小就放到这个数的左边,依次递归调用直到比较队列中只有两个数。

 

 代码实现:

var arrs = [23,85,61,37,55,12,63,11,99,39,70,21,23];
function QuickSort(arr , s,e){
    var len = e;
    var token = arr[s];
    for(var i=s+1;i<=len;i++){
        var ttt = arr[i];
        if(token >= arr[i]){
            var temp = arr[i];
            for(var k = i;k>s;k--){
                arr[k] = arr[k-1];
            }
            arr[s] = temp;
            s++;
        }
    }
    return s;
}

function sort(arrs,s,e){
    var t = QuickSort(arrs,s,e);
    if(t-1 >= s ){
        sort(arrs , s,t-1);
    }
    if(t+1 <= e){
        sort(arrs , t+1,e);
    }
}
    
sort(arrs,0,arrs.length);

document.getElementById("app").innerhtml = arrs+"";

 

注:代码可能还有可以优化的地方,欢迎吐槽!

 

以上是关于结构-行为-样式-Js排序算法之 快速排序的主要内容,如果未能解决你的问题,请参考以下文章

重学数据结构和算法之归并排序快速排序

数据结构-排序之快速排序(使用Java代码实现)

数据结构-排序之快速排序(使用Java代码实现)

数据结构-排序之快速排序(使用Java代码实现)

数据结构之排序算法Java实现—— 交换类排序之快速排序算法

数据结构和算法(十五)排序算法之快速排序