Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static < E extends Comparable < ? super E >>
- void sort(E[] a, int i, int j) {
- if (i < j - 1) {
- int p = partition(a, i, j);
- sort(a, i, p);
- sort(a, p + 1, j);
- }
- }
- public static < E extends Comparable < ? super E >>
- int partition(E[] a, int i, int j) {
- E pivot = a[j - 1];
- int low = j - 1;
- int pow = i;
- while (pow < low)
- // a:| <= x | ? | > x |x|
- // ^ ^ ^ ^
- // i pow low j x = pivot;
- {
- if (a[pow].compareTo(pivot) > 0) {
- swap(a, pow, --low);
- } else {
- pow++;
- }
- }
- swap(a, pow, j - 1);
- return pow;
- }
- public static < E extends Comparable < ? super E >>
- void swap(E[] a, int i, int j) {
- E temp = a[i];
- a[i] = a[j];
- a[j] = temp;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement