快速排序

//java快速排序的完整版
public class QSort    {  
    public static void main(String[] args)  {  

       quicksort qs = new quicksort();  
       int data[] = {44,22,2,32,54,23,88,77,99,11};  
       qs.data = data;  
       qs.sort(qs.data,0, qs.data.length-1);  
        qs.display();  
         }  
}
 class quicksort  {  
        public int data[];   
        private int partition(int sortArray[],int low,int hight)   {  
               int key = sortArray[low];  
               while(low<hight)   {  
                   while(low<hight && sortArray[hight]>=key)  
                            hight--;  
                    sortArray[low] = sortArray[hight];  
            
                  while(low<hight && sortArray[low]<=key)  
                           low++;  
                   sortArray[hight] = sortArray[low];  
              }  
         sortArray[low] = key;  
         return low;  
      }  
       public void sort(int array[],int low,int hight)    {  
          if(low<hight)    {  
             int result = partition(data,low,hight);   
             sort(array,low,result-1);  
             sort(array,result+1,hight);  
             }  
      }  
     public void display(){  
          for(int i=0;i<data.length;i++)    {  
             System.out.print(data[i]);  
             System.out.print(" ");  
              }  
       }  
 }
 


你可能感兴趣的:(java,sort,Quicksort)