快速排序算法

13 篇文章 0 订阅

   1. public class QSort {      
   2.          
   3.     /**    
   4.      *  
   5.      * @param pData 需要排序的数组    
   6.      * @param left     左边的位置,初始值为0    
   7.      * @param right 右边的位置,初始值为数组长度    
   8.      */      
   9.     public static void QuickSort(int[] pData,int left,int right)      
  10.     {       
  11.       int i,j;      
  12.       int middle,temp;      
  13.       i = left;      
  14.       j = right;      
  15.       middle = pData[left];      
  16.       while(true)      
  17.       {      
  18.           while((++i)<right-1 && pData[i]<middle);      
  19.           while((--j)>left && pData[j]>middle);      
  20.           if(i>=j)      
  21.               break;      
  22.           temp = pData[i];      
  23.           pData[i] = pData[j];      
  24.           pData[j] = temp;      
  25.       }      
  26.        
  27.       pData[left] = pData[j];      
  28.       pData[j] = middle;      
  29.            
  30.       if(left<j)       
  31.         QuickSort(pData,left,j);      
  32.        
  33.        
  34.       if(right>i)       
  35.         QuickSort(pData,i,right);      
  36.     }      
  37.        
  38.     public static void main(String[] args){      
  39.         int[] pData = new int[10];      
  40.         for(int i = 0; i< 10; i++)      
  41.             pData[i] = (int)(Math.random()*100);      
  42.              
  43.         for(int i = 0; i<pData.length; i++)      
  44.             System.out.print(pData[i]+" ");      
  45.              
  46.         QSort.QuickSort(pData, 0, pData.length);      
  47.              
  48.         System.out.println("\n***********************");      
  49.              
  50.         for(int i = 0; i<pData.length; i++)      
  51.             System.out.print(pData[i]+" ");      
  52.     }      
  53.        
  54. }    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值