相关知识
基本思想
基本思想:挖坑填数,分治法
代码实现
public static void quickSort(int[] array, int first, int last) {
if (first >= last) {
return;
}
int i = first, j = last;
int tmp = array[i];
while (i < j) {
while (i < j && array[j] >= tmp) {
j--;
}
if (i < j) {
array[i++] = array[j];
}
while (i < j && array[i] <= tmp) {
i++;
}
if (i < j) {
array[j--] = array[i];
}
}
array[i] = tmp;
quickSort(array, first, i - 1);
quickSort(array, i + 1, last);
}
算法复杂度
- 时间复杂度:O(NlogN)
- 空间复杂度:O(1)
算法稳定性
算法稳定性:不稳定