Advertisement
jounne

quicksortproblem java

Feb 10th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. public static void sortQuick(double[] array) {
  2. sortQuick(array, 0, array.length - 1);
  3. }
  4.  
  5. private static void sortQuick(double[] array, int left, int right) {
  6. int pivotIndex;
  7. if (left < right) {
  8. pivotIndex = partition(array, left, right, (left + right) / 2);
  9. sortQuick(array, left, pivotIndex + 1);
  10. sortQuick(array, pivotIndex + 1, right);
  11. }
  12. }
  13.  
  14. private static int partition(double[] array, int left, int right, int pivotIndex) {
  15. double pivotValue = array[pivotIndex];
  16. int storeIndex = left;
  17. swap(array, pivotIndex, right);
  18. for (int i = left; i < right; i++) {
  19. if (array[i] < pivotValue) {
  20. swap(array, i, storeIndex);
  21. storeIndex++;
  22. }
  23. }
  24. swap(array, storeIndex, right);
  25. return storeIndex;
  26. }
  27.  
  28. private static void swap(double[] array, int left, int right) {
  29. double temp = array[left];
  30. array[left] = array[right];
  31. array[right] = temp;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement