`
caizhongda
  • 浏览: 184373 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

程序灵魂 之 快速排序算法(Java实现)

阅读更多

public class QSort {    
       
    /**   
     * 
     * @param pData 需要排序的数组   
     * @param left     左边的位置,初始值为0   
     * @param right 右边的位置,初始值为数组长度   
     */    
    public static void QuickSort(int[] pData,int left,int right)    
    {     
      int i,j;    
      int middle,temp;    
      i = left;    
      j = right;    
      middle = pData[left];    
      while(true)    
      {    
          while((++i)<right-1 && pData[i]<middle);    
          while((--j)>left && pData[j]>middle);    
          if(i>=j)    
              break;    
          temp = pData[i];    
          pData[i] = pData[j];    
          pData[j] = temp;    
      }    
     
      pData[left] = pData[j];    
      pData[j] = middle;    
         
      if(left<j)     
        QuickSort(pData,left,j);    
     
     
      if(right>i)     
        QuickSort(pData,i,right);    
    }    
     
    public static void main(String[] args){    
        int[] pData = new int[10];    
        for(int i = 0; i< 10; i++)    
            pData[i] = (int)(Math.random()*100);    
           
        for(int i = 0; i<pData.length; i++)    
            System.out.print(pData[i]+" ");    
           
        QSort.QuickSort(pData, 0, pData.length);    
           
        System.out.println("\n***********************");    
           
        for(int i = 0; i<pData.length; i++)    
            System.out.print(pData[i]+" ");    
    }    
     
}  






分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics