Guest User

Untitled

a guest
Oct 16th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. function quickSort (inputArr) {
  2. function swap (arr, a, b) {
  3. [arr[a], arr[b]] = [arr[b], arr[a]]
  4. }
  5.  
  6. function partition (arr, left, right) {
  7. let partitionPoint = left
  8. const pivot = arr[right]
  9. for (let i = left; i < right; i++) {
  10. if (arr[i] < pivot) {
  11. swap(arr, i, partitionPoint)
  12. partitionPoint++
  13. }
  14. }
  15. swap(arr, partitionPoint, right)
  16.  
  17. return partitionPoint
  18. }
  19.  
  20. function sort (arr, left, right) {
  21. if (left > right) return
  22. const boundary = partition(arr, left, right)
  23. sort(arr, left, boundary - 1)
  24. sort(arr, boundary + 1, right)
  25. }
  26. sort(inputArr, 0, inputArr.length - 1)
  27. return inputArr
  28. }
Add Comment
Please, Sign In to add comment