Advertisement
Guest User

Untitled

a guest
May 28th, 2015
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. public class HybridSort
  2. {
  3. public static void quicksort(int[] numbers, int left, int right)
  4. {
  5. int l = left;
  6. int r = right;
  7. int tmp;
  8. int pivot = numbers[(l + r) / 2];
  9. while (l <= r)
  10. {
  11. while (numbers[l] < pivot)
  12. l++;
  13. while (numbers[r] > pivot)
  14. r--;
  15. if (l <= r)
  16. {
  17. tmp = numbers[l];
  18. numbers[l] = numbers[r];
  19. numbers[r] = tmp;
  20. l++;
  21. r--;
  22. }
  23. }
  24. if (l < r)
  25. quicksort(numbers, l, r);
  26. if (l < r)
  27. quicksort(numbers, l, r);
  28. }
  29.  
  30. public static void main(String[] args)
  31. {
  32. for (int a = 0; a < 20; a++)
  33. {
  34.  
  35. int[] numbers = new int[(int) (Math.random() * 20 + 10)];
  36.  
  37.  
  38. for (int b = 0; b < numbers.length; b++)
  39. numbers[b] = (int) (Math.random() * 1000);
  40.  
  41.  
  42. for (int c = 0; c < numbers.length; c++)
  43. {
  44. System.out.print(numbers[c] + ", ");
  45. }
  46. System.out.println("");
  47.  
  48.  
  49. quicksort(numbers, 0, numbers.length - 1);
  50.  
  51.  
  52. boolean sorted = true;
  53. for (int b = 0; b < numbers.length; b++)
  54. {
  55. System.out.print(numbers[b] + " ");
  56.  
  57. if (b > 0)
  58. sorted &= numbers[b] >= numbers[b - 1];
  59. }
  60.  
  61. System.out.println(sorted ? "OK" : "ERROR");
  62. }
  63.  
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement