private static int partition(int[] arr, int left, int right) {
int pivot = arr[(right + left) / 2];
while (left < right) {
while (arr[left] < pivot) left++;
while (arr[right] > pivot) right--;
if (left < right) {
int tmp = arr[left];
arr[left] = arr[right];
arr[right] = tmp;
}
}
return left;
}
private static void quickSort(int[] arr, int left, int right) {
if (left < right) {
int mid = partition(arr, left, right);
quickSort(arr, 0, mid - 1);
quickSort(arr, mid + 1, right);
}
}
public static void main(String[] args) {
int[] arrs = {0,69, 10, 30, 2, 16, 8, 31, 22};
quickSort(arrs, 0, arrs.length - 1);
System.out.println("결과");
for (int i : arrs) {
System.out.print(i + " ");
}
}