zoukankan      html  css  js  c++  java
  • JavaScript 排序算法——快速排序

    常见排序


    javaScript 实现的常见排序算法有:冒泡排序、选择排序、插入排序、谢尔排序、快速排序(递归)、快速排序(堆栈)、归并排序、堆排序。

     

    过程


    "快速排序"的思想很简单,整个排序过程只需要三步:

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

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

        3、利用递归进行下次比较

     

    代码例子

     1 <script type="text/javascript">
     2     function quickSort(arr){
     3         if(arr.length<=1){
     4             return arr;//如果数组只有一个数,就直接返回;
     5         }
     6 
     7         var num = Math.floor(arr.length/2);//找到中间数的索引值,如果是浮点数,则向下取整
     8         var numValue = arr.splice(num,1);//找到中间数的值
     9         var left = [];
    10         var right = [];
    11 
    12         for(var i=0;i<arr.length;i++){
    13             if(arr[i]<numValue){
    14                 left.push(arr[i]);//基准点的左边的数传到左边数组
    15             }
    16             else{
    17                 right.push(arr[i]);//基准点的右边的数传到右边数组
    18             }
    19         }
    20         return quickSort(left).concat([numValue],quickSort(right));//递归不断重复比较
    21     }
    22     
    23     alert(quickSort([32,45,37,16,2,87]));//弹出“2,16,32,37,45,87”
    24 </script>
  • 相关阅读:
    manjora20安装搜狗输入法
    manjora20使用体验
    deepin20体验
    deepin20搜狗输入法使用
    deepin20使用snap并设置代理
    C#服务器端使用office组件
    华为多屏互动看学英语
    ThinkPad S5立体声混响以及语音识别
    mate10碎屏机当成小电脑使用尝试
    刷机错误ERROR:STATUS_BROM_CMD__FAIL
  • 原文地址:https://www.cnblogs.com/zhoubang521/p/5200072.html
Copyright © 2011-2022 走看看