package ByteDance;
public class QuickSort {
public static void quick(int[] nums, int low, int high) {
int i = low;
int j = high;
int key = nums[i];
if(i >= j)
return;
while(i < j) {
while(j>i && nums[j] > key)
j--;
if(j>i)
nums[i++] = nums[j];
while(i<j && nums[i] < key)
i++;
if(j>i)
nums[j--] = nums[i];
}
nums[i] = key;
if(i == low){ //i为第一个
quick(nums, low+1, high);
}else if(i == high){
quick(nums, low, high-1);
}else{
quick(nums, low, i-1);
quick(nums, i+1, high);
}
}
/**
* @param args
*/
public static void main(String[] args) {
int[] nums = {1,3,4,5,0};
quick(nums, 0, nums.length-1);
for(int i=0;i<nums.length;i++){
System.out.print(nums[i]+ " ");
}
}
}
快速排序(Java)
最新推荐文章于 2024-04-16 23:36:22 发布