问题:java面试之快速排序
解决方案:
public void qsort(int[] arr, int low, int high) {
if (low < high) {
int temp, pPos, i;
pPos = low;
temp = arr[pPos];
for (i = low + 1; i <= high; i++) {
if (arr[i] > temp) {
pPos++;
swap(arr, pPos, i);
}
}
swap(arr, low, pPos);
qsort(arr, low, pPos - 1);
qsort(arr, pPos + 1, high);
}
}
public void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}