Skip to content

Commit ba25ebb

Browse files
committed
Quicksort algorithm added in sorts directory
1 parent 4dff73a commit ba25ebb

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

Sorts/quicksort.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
function quicksort(arr, start, end)
2+
{
3+
if (start < end) {
4+
let p = partition(arr, start, end);
5+
quicksort(arr, 0, p - 1);
6+
quicksort(arr, p + 1, end);
7+
8+
}
9+
10+
}
11+
12+
function partition( arr, start, end) {
13+
let p = start;
14+
let pivot = arr[end];
15+
for (let i = start; i < end; i++) {
16+
if (arr[i] >= pivot) {
17+
let temp = arr[i];
18+
arr[i] = arr[p];
19+
arr[p] = temp;
20+
p++;
21+
22+
}
23+
}
24+
let temp = arr[p];
25+
arr[p] = arr[end];
26+
arr[end] = temp;
27+
return p;
28+
}
29+
var arr = [ 7, 2, 1, 6, 5, 3, 8, 4 ];
30+
quicksort(arr, 0, arr.length - 1);
31+
console.log(arr.toString())

0 commit comments

Comments
 (0)