快速排序
好久没有写快排了,这可是当时学《数据结构》必须能手写的一种排序算法。长时间不练习,脑子被工作搅成一团浆糊。锻炼一下脑子,随手写一个快速排序。
采用递归的方法:
private static void quickSort(int[] array, int low, int high) {
if (low < high) {
int mid = getIndex(array, low, high);
quickSort(array, low, mid - 1);
quickSort(array, mid + 1, high);
}
}获取中间mid值:
static int getIndex(int[] array, int low, int high) {
int tmp = array[low];
while (low < high) {
while (low < high && array[high] > tmp) {
high--;
}
array[low] = array[high];
while (low < high && array[low] < tmp) {
low++;
}
array[high] = array[low];
}
array[low] = tmp;
return low;
}相关博客:

