int[] data = new int[] { ... }; void sort() { quick(0, data.length - 1); } void quick(int start, int end) { if (start < end) { int pivot = partition(start, end); quick(start, pivot - 1); quick(pivot + 1, end); } } int partition(int start, int end) { int pivot = end; int i = start - 1; for (int j = start; j <= end - 1; j++) { if (compare(j, pivot) < 0) { i++; swap(i, j); } } swap(i + 1, end); return i + 1; }
info:sek-ii:q1:algorithmen-rekursion:fk-quicksort
Quicksort
Implementierung
info/sek-ii/q1/algorithmen-rekursion/fk-quicksort.txt · Zuletzt geändert: 2022-01-09 20:15 von christian.weber