快速排序算法

快速排序算法的基本思想是:把排序对象的数组分割为2个子数组,而其中一个数组的值都大于另一个数组,并且递归这2个子数组。

void Run(int[] data,int low, int high)
{
    
int middle = data[(low+high)/2];
    
do
    {
       
int i = low;
       
int j = high;
       
while(data[i]<middle&&i<high)
       {
          i
++;
       }
       
while(data[j]>middle&&j>low)
       {
          j
--;
       }
       
if(i<=j)
       {
          
int temp = data[i];
          data[i] 
= data[j];
          data[j] 
= temp;
          i
++;
          j
--;
       }
     }
while(i<=j);
     
if(i<high)
     {
        Run(data,i,high);
     }
     
if(j>low)
     {
        Run(data,low,j);
     }
}

 

 

posted @ 2010-03-10 00:28  goldkevin  阅读(201)  评论(0编辑  收藏  举报