Advertisement
Guest User

Untitled

a guest
Feb 13th, 2016
162
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 < E extends Comparable < ? super E >>
  2. void sort(E[] a, int i, int j) {
  3. if (i < j - 1) {
  4.  
  5. int p = partition(a, i, j);
  6. sort(a, i, p);
  7. sort(a, p + 1, j);
  8.  
  9. }
  10. }
  11.  
  12. public static < E extends Comparable < ? super E >>
  13. int partition(E[] a, int i, int j) {
  14. E pivot = a[j - 1];
  15. int low = j - 1;
  16. int pow = i;
  17. while (pow < low)
  18. // a:| <= x | ? | > x |x|
  19. // ^ ^ ^ ^
  20. // i pow low j x = pivot;
  21. {
  22.  
  23. if (a[pow].compareTo(pivot) > 0) {
  24. swap(a, pow, --low);
  25. } else {
  26. pow++;
  27. }
  28.  
  29. }
  30. swap(a, pow, j - 1);
  31. return pow;
  32. }
  33. public static < E extends Comparable < ? super E >>
  34. void swap(E[] a, int i, int j) {
  35.  
  36. E temp = a[i];
  37. a[i] = a[j];
  38. a[j] = temp;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement