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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.