public static void quickSort(int[] arr, int leftIndex, int rightIndex){
int i, j; //寻迹节点
int pivot; //基准数
int temp; //用于交换的中间变量
if(leftIndex >= rightIndex)
return;
pivot = arr[leftIndex];
i = leftIndex;
j = rightIndex;
while (i != j){
while (arr[j] >= pivot && i < j)
j--;
while (arr <= pivot && i < j)
i++;
if(i < j){
temp = arr;
arr = arr[j];
arr[j] = temp;
}
}
//将基准数归位
arr[leftIndex] = arr;
arr = pivot;
//一分为二,进行递归
quickSort(arr, leftIndex, i - 1);
quickSort(arr, i + 1, rightIndex);
}
排序算法之-快速排序
最新推荐文章于 2021-07-21 14:34:52 发布