递归版快速排序-JS代码

Posted ryzz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归版快速排序-JS代码相关的知识,希望对你有一定的参考价值。

 1     "use strict"
 2     var arr1=[11,21,3,4,0];
 3     function qSort(arr){
 4         var mid,left,right,len,i,j,emptyArr,emptyArr2;
 5         len = arr.length;
 6         left = [];
 7         right = [];
 8         emptyArr=[];
 9         emptyArr2=[];
10         j = 0;
11         if (len < 2){
12             return arr
13         }else{
14             mid = arr[0];
15             for (i=1; i<len; i++){
16                 if (arr[i] < mid){
17                     left[j] = arr[i]
18                     j++
19                 }
20             }
21             j = 0;
22             for (i=1; i<len; i++){
23                 if (arr[i] >= mid){
24                     right[j] = arr[i]
25                     j++
26                 }
27             }
28             emptyArr2[0] = mid;
29             return emptyArr.concat(qSort(left), emptyArr2, qSort(right))
30         }
31     }
32     
33     console.log(qSort(arr1))

 

以上是关于递归版快速排序-JS代码的主要内容,如果未能解决你的问题,请参考以下文章

基于比较的七种常见排序算法

基于比较的七种常见排序算法

基于比较的七种常见排序算法

C++的快速排序(递归和非递归版)

算法排序3:优化版快速排序非递归实现快速排序

算法排序3:优化版快速排序非递归实现快速排序