Skip to content

Commit 96ad68a

Browse files
Update 6.quickSort.md
1 parent 6f0e2a2 commit 96ad68a

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

6.quickSort.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,25 @@ function quickSort2(arr, low, high) {
8989

9090
```
9191

92+
var quickSort = function(arr) {
93+
  if (arr.length <= 1) {//如果数组长度小于等于1无需判断直接返回即可
94+
return arr;
95+
}
96+
  var pivotIndex = Math.floor(arr.length / 2);//取基准点
97+
  var pivot = arr.splice(pivotIndex, 1)[0];//取基准点的值,splice(index,1)函数可以返回数组中被删除的那个数
98+
  var left = [];//存放比基准点小的数组
99+
  var right = [];//存放比基准点大的数组
100+
  for (var i = 0; i < arr.length; i++){ //遍历数组,进行判断分配
101+
    if (arr[i] < pivot) {
102+
      left.push(arr[i]);//比基准点小的放在左边数组
103+
    } else {
104+
      right.push(arr[i]);//比基准点大的放在右边数组
105+
    }
106+
  }
107+
//递归执行以上操作,对左右两个数组进行操作,直到数组长度为<=1;
108+
  return quickSort(left).concat([pivot], quickSort(right));
109+
};<br>使用的时候,直接调用quickSort()就行了。
110+
92111

93112
## 4. Python 代码实现
94113

0 commit comments

Comments
 (0)