Skip to content

Commit cfc246f

Browse files
author
dddssw
committed
算法
1 parent 249b617 commit cfc246f

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

javascript/algorithm.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1178,3 +1178,30 @@ var search = function (nums, target) {
11781178
};
11791179
```
11801180
## 快速排序
1181+
```js
1182+
function sort(arr) {
1183+
function dfs(left, right) {
1184+
if (left >= right) {
1185+
return;
1186+
}
1187+
let i = left;
1188+
let j = right;
1189+
let tar = arr[left];
1190+
while (left < right) {
1191+
while (left < right && arr[right] >= tar) {
1192+
right--;
1193+
}
1194+
while (left < right && arr[left] <= tar) {
1195+
left++;
1196+
}
1197+
[arr[left], arr[right]] = [arr[right], arr[left]];
1198+
}
1199+
[arr[left], arr[i]] = [arr[i], arr[left]];
1200+
dfs(i, left - 1);
1201+
dfs(left + 1, j);
1202+
}
1203+
dfs(0, arr.length - 1);
1204+
return arr;
1205+
}
1206+
console.log(sort([9, 7, 5, 3, 1]));
1207+
```

0 commit comments

Comments
 (0)