美文网首页
JS快速排序

JS快速排序

作者: 大力士_f398 | 来源:发表于2017-06-22 15:45 被阅读0次
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            var mySort = function(arr) {
                if(arr.length <= 1) {
                    return arr;
                }
                var p1 = Math.floor(arr.length / 2);  /*p1为一个数组里选的基准*/
                var p2 = arr.splice(p1, 1)[0];  /*取出基准对应数组中的元素*/
                var left = [];  /*左边的数组*/
                var right = [];  /*右边的数组*/
                for(var i = 0; i < arr.length; i++) {
                    if(arr[i] <p2) {
                        left.push(arr[i]);  /*放入left数组*/
                    } else {
                        right.push(arr[i]);  /*放入right数组*/
                    }
                }
                return mySort(left).concat([p2], mySort(right));  /*把left数组+p2+right数组进行拼接*/
            }
            alert(mySort([2,1,4,6,7]));
        </script>
    </body>
</html>

相关文章

  • js排序 - 快速排序

    (1)在数据集之中,选择一个元素作为"基准"(pivot)。 (2)所有小于"基准"的元素,都移到"基准"的左边;...

  • js 快速排序

    quickSort(arr){if(arr.length<=1){return arr}var povitInde...

  • JS———快速排序

    function sorts(arr){ if(arr.length<=1){ return arr } var...

  • JS快速排序

    前言 这两天看到阮一峰前辈的快排引起的一系列事件...(居然DDOS都出来了),前端界又被顺路diss了一番,想起...

  • JS快速排序

  • JS快速排序

    从数组中选取一个数据作为基准,一般默认数组中第一个数据,然后比基准小的放到左侧,比基准大的放到右侧完成第一轮后分割...

  • js快速排序

    首先了解什么是快速排序。 1、找到一个基准值(一般是中间位)2、然后将数组的值与基准值比较,分为两个数组(比基准值...

  • 快速排序(JS)

    快速排序是处理大数据集最快的排序算法之一。它是一种分而治之的算法,通过递归的方式将数据依次分解为包含较小元素和较大...

  • JS快速排序

  • js快速排序

    整体步骤:① 选取待排序数组中其中一个数作为基数(建议选取第一个数),使flag等于基数的下标,left等于待排序...

网友评论

      本文标题:JS快速排序

      本文链接:https://www.haomeiwen.com/subject/zwefcxtx.html