/**
* 快速排序.
* @param array 待排序数组
* @param low 排序起始位置
* @param high 排序结束位置
*/
private static void quickSort(int[] array, int low, int high) {
int i, j, index;
if (low > high || low < 0 || high >= array.length) {
return ;
}
i = low;
j = high;
index = array[i];
while (i < j) {
while (i < j && array[j] >= index) {
j--;
}
if (i < j) {
array[i++] = array[j];
}
while (i < j && array[i] < index) {
i++;
}
if (i < j) {
array[j--] = array[i];
}
}
array[i] = index;
quickSort(array, low, i - 1);
quickSort(array, i + 1, high);
}
网友评论