要点是如何把数组中大于key的都放它后面,小于他的都放它前面。
private static int sort(int[] A, int low, int high) {
// TODO Auto-generated method stub
int key = A[low];
int i = low;
int j = high;
if (low < high) {
//两端下标i,j向中间靠拢
while (i < j) {
while (i < j && key <= A[j]) {
j--;
}
if (i < j) {
A[i] = A[j];
}
while (i < j && A[i] <= key) {
i++;
}
if (i < j) {
A[j] = A[i];
}
}
A[i] = key;
}
return i;
}
}