java 快速排序优化版

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);
  }
 }
}

你可能感兴趣的:(java 快速排序优化版)