Skip to content

Commit d371ddb

Browse files
author
jiangweixu
committed
add quickSort.js
1 parent 8065cad commit d371ddb

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

quickSort.js

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
var quickSort = function (arr, left, right) {
2+
var len = arr.length, pivot, partitionIndex, left = left || 0, right = right || arr.length - 1;
3+
if (left < right) {
4+
pivot = right;
5+
partitionIndex = partition(arr, pivot, left, right);
6+
quickSort(arr, left, partitionIndex - 1);
7+
quickSort(arr, partitionIndex+1, right)
8+
}
9+
return arr;
10+
};
11+
12+
function partition(arr, pivot, left, right){
13+
var pivotValue = arr[pivot],
14+
partitionIndex = left;
15+
16+
for(var i = left; i < right; i++){
17+
if(arr[i] < pivotValue){
18+
swap(arr, i, partitionIndex);
19+
partitionIndex++;
20+
}
21+
}
22+
swap(arr, right, partitionIndex);
23+
return partitionIndex;
24+
}
25+
26+
var swap = function (arr, i, j) {
27+
var temp = arr[i];
28+
arr[i] = arr[j];
29+
arr[j] = temp;
30+
};

0 commit comments

Comments
 (0)