美文网首页
JS 实现快速排序

JS 实现快速排序

作者: WPeach | 来源:发表于2017-03-11 20:14 被阅读0次

快速排序的思想

(1)在数据集之中,找一个基准点

(2)建立两个数组,分别存储左边和右边的数组

(3)利用递归进行下次比较

<script type="text/javascript">

        function quickSort(arr){
            if(arr.length<=1){
                return arr;//如果数组只有一个数,就直接返回;
            }

            var num = Math.floor(arr.length/2);//找到中间数的索引值,如果是浮点数,则向下取整

            var numValue = arr.splice(num,1);//找到中间数的值
            var left = [];
            var right = [];

            for(var i=0;i<arr.length;i++){
                if(arr[i]<numValue){
                    left.push(arr[i]);//基准点的左边的数传到左边数组
                }
                else{
                   right.push(arr[i]);//基准点的右边的数传到右边数组
                }
            }

            return quickSort(left).concat([numValue],quickSort(right));//递归不断重复比较
        }

        alert(quickSort([32,45,37,16,2,87]));//弹出“2,16,32,37,45,87”

    </script>

相关文章

  • JS实现快速排序

    大致分三步: 1、找基准(一般是以中间项为基准) 2、遍历数组,小于基准的放在left,大于基准的放在right ...

  • JS实现快速排序

    看了一篇通俗易懂的快排文章 快排,下面一步一步 实现整个过程。 快排的基本思想 上面链接的文章对快排的思路提出了一...

  • 快速排序JS实现

    快速排序原理 快速排序的基本思想是选取一个基准值将排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分...

  • JS实现快速排序

    快速排序用到以下方法 Math.floor->返回小于或等于一个给定数字的最大整数 splice->向/从数组中添...

  • JS实现快速排序

  • JS 实现快速排序

    快速排序的思想 (1)在数据集之中,找一个基准点 (2)建立两个数组,分别存储左边和右边的数组 (3)利用递归进行...

  • JS实现快速排序算法

    快速排序 快速排序 由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割...

  • js数组快速排序实现

  • JS实现快速排序算法

    采用了分治的思想(1)在数据集之中,选择一个元素作为"基准"(pivot)。(2)所有小于"基准"的元素,都移到"...

  • 快速排序的JS实现

    From:阮一峰 快速排序(Quicksort)的Javascript实现[https://www.ruanyif...

网友评论

      本文标题:JS 实现快速排序

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