• 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>
  • 相关阅读:
    vue.api
    v-resource
    vue.js路由
    computed watch methods
    vue.js生命周期
    flex布局
    字符截取 slice substr substring
    原生Ajax书写
    jq动画
    css 3动画
  • 原文地址:https://www.cnblogs.com/zhoubang521/p/5200072.html
Copyright © 2020-2023  润新知