快速排序 JAVA

public class QuickSort{
   public static void quickSort(int[] list){
   quickSort(list,0,list.length-1);
   }
  
   private static void quickSort(int []list,int first,int last){
     if(last>first){
     int pivotIndex=partition(list,first,last);
  quickSort(list,first,pivotIndex-1);
  quickSort(list,pivotIndex+1,last);
  }
   }
  
   private static int partition(int[] list,int first,int last){
     int pivot=list[first];
  int low=first+1;
  int high=last;
 
  while(high>low){
     while(low<=high && list[low]<=pivot)
  low++;
  while(low<=high && list[high]>pivot)
  high--;
  if(high>low){
    int temp=list[high];
    list[high]=list[low];
    list[low]=temp;
  }
  }
  while(high>first && list[high]>=pivot)
   high--;
  
   if(pivot>list[high]){
    list[first]=list[high];
    list[high]=pivot;
    return high;
   }
   else {
     return first;
  }
   }
  
   public static void main(String[] agrs){
     int [] list={2,3,3,5,6,1,-2,3,14,12};
  quickSort(list);
  for(int i=0;i
  System.out.print(list[i]+" ");
  System.out.println();
   }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值