Skip to content

Commit 24d5ce5

Browse files
authored
Update 6.quickSort.md
1 parent 7b23fcb commit 24d5ce5

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

6.quickSort.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,24 @@
3030
## 3. JavaScript 代码实现
3131

3232
```js
33+
// NO.1 Solution
34+
var quickSort = function(arr) {
35+
if (arr.length <= 1) { return arr; }
36+
var pivotIndex = Math.floor(arr.length / 2); //基准位置(理论上可任意选取)
37+
var pivot = arr.splice(pivotIndex, 1)[0]; //基准数
38+
var left = [];
39+
var right = [];
40+
for (var i = 0; i < arr.length; i++){
41+
if (arr[i] < pivot) {
42+
left.push(arr[i]);
43+
} else {
44+
right.push(arr[i]);
45+
}
46+
}
47+
return quickSort(left).concat([pivot], quickSort(right)); //链接左数组、基准数构成的数组、右数组
48+
};
49+
50+
// NO.2 Solution
3351
function quickSort(arr, left, right) {
3452
var len = arr.length,
3553
partitionIndex,

0 commit comments

Comments
 (0)