class Solution {
public int partition(int nums [],int low,int high) {
int i=low;
int j=high;
int temp=nums[i];
while(i<j) {
while(temp<=nums[j]&&j>i)
j--;
if(j>i) {
nums[i]=nums[j];
i++;
}
while(nums[i]<=temp&&j>i)
i++;
if(j>i) {
nums[j]=nums[i];
j--;
}
}
nums[i]=temp;
return i;
}
public void sort(int [] nums,int low,int high) {
if(low<high) {
int middle=partition(nums,low,high);
sort(nums,low,middle-1);
sort(nums,middle+1,high);
}
}
public int[] sortArray(int[] nums) {
sort(nums,0,nums.length-1);
return nums;
}
}
快速排序 java实现
最新推荐文章于 2024-07-21 22:23:56 发布