void quickSort(int start, int end, int[] data) {
if (start >= end) {
return;
}
int pivot = start;
int i = start + 1;
int j = end;
int temp;
while (i <= j) {
while (i <= end && data[pivot] >= data[i]) {
i++;
}
while (data[pivot] <= data[j] && j > start) {
j--;
}
if (i > j) { // 엇갈림
temp = data[j];
data[j] = data[pivot];
data[pivot] = temp;
}else {
temp = data[i];
data[i] = data[j];
data[j] = temp;
}
}
quickSort(start, j - 1, data);
quickSort(j + 1, end, data);
}