/**
* 快速排序
*
* @param nums
* @param left
* @param right
*/
public static void quickSort(int[] nums,int left, int right){
if(left>=right){
return;
}
int l = left;
int r = right;
int pivot = nums[left];
while (l<r){
// 移动右指针进行比较
while (l<r&&nums[r]>pivot){
r--;
}
if(l<r){
nums[l] = nums[r];
l++;
}
// 移动左指针进行比较
while (l<r&&nums[l]<pivot){
l++;
}
if(l<r){
nums[r] = nums[l];
r--;
}
}
// 找到基准位置
nums[l] = pivot;
// 递归左半部分
quickSort(nums, left, l-1);
// 递归右半部分
quickSort(nums,l+1,right);
}
Java实现快速排序
最新推荐文章于 2022-07-12 08:17:44 发布