public class QuickSortStudy2 {
/**
* 2011-3-25练习
* 快速排序
* @param args
*/
public static void main(String[] args) {
int[] nums = Sort.getRandom(100, 100);
quickSort(nums,0,99);
for(int i = 0;i<nums.length;i++){
System.out.print(nums[i]+",");
}
}
/**
*
* @param nums
* @param start 索引起点
* @param end 索引终点
*/
public static void quickSort(int nums[], int start, int end) {
if (start < end) {
int key = nums[end];
int i = start;
int j = start - 1;
for(;i<end;i++){
if(nums[i]<key){
j++;
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
j++;
int temp = nums[end];
nums[end] = nums[j];
nums[j] = temp;
quickSort(nums, start,j-1);
quickSort(nums, j+1,end);
}
}
}