Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void sortQuick(double[] array) {
- sortQuick(array, 0, array.length - 1);
- }
- private static void sortQuick(double[] array, int left, int right) {
- int pivotIndex;
- if (left < right) {
- pivotIndex = partition(array, left, right, (left + right) / 2);
- sortQuick(array, left, pivotIndex + 1);
- sortQuick(array, pivotIndex + 1, right);
- }
- }
- private static int partition(double[] array, int left, int right, int pivotIndex) {
- double pivotValue = array[pivotIndex];
- int storeIndex = left;
- swap(array, pivotIndex, right);
- for (int i = left; i < right; i++) {
- if (array[i] < pivotValue) {
- swap(array, i, storeIndex);
- storeIndex++;
- }
- }
- swap(array, storeIndex, right);
- return storeIndex;
- }
- private static void swap(double[] array, int left, int right) {
- double temp = array[left];
- array[left] = array[right];
- array[right] = temp;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement