Sort排序算法–快排实现方法
public static void fast(int[] in, int begin, int end) {
if (begin >= end) {
return;
}
int left = begin, right = end, point = (begin + end) / 2;
boolean turn = true;
while (left < right) {
if (turn) {
while (left < point) {
if (in[left] > in[point]) {
swapTwoValue(in, left, point);
point = left;
break;
} else left++;
}
turn = false;
} else {
while (right > point) {
if (in[right] < in[point]) {
swapTwoValue(in, right, point);
point = right;
break;
} else right--;
}
turn = true;
}
}
fast(in, begin, point - 1);
fast(in, point + 1, end);
}