这篇文章上次修改于 967 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
JAVA版本
static void quickPaixu(int arr[], int left, int right) {
int l = left, r = right;
int pivot = arr[(left + right) / 2];
while (l < r) {
while (arr[l] < pivot) {
l++;
}
while (arr[r] > pivot) {
r--;
}
if (l >= r) {
break;
}
int temp = arr[l];
arr[l] = arr[r];
arr[r] = temp;
if (arr[r] == pivot) {
l++;
}
if (arr[l] == pivot) {
r--;
}
}
if (l == r) {
l++;
r--;
}
if (left < r) {
quickPaixu(arr, left, r);
}
if (l < right) {
quickPaixu(arr, l, right);
}
}
没有评论