copy快速排序

int FindPivot(int a[],int left,int right){
int i=left,j=right,x=a[i];
while(i<j)
{
  while(i<j&&a[j]>=x)
  j--;
  if(i<j)
   {
   a[i]=a[j];
   i++;
   }

while(i<j&&a[i]<x)
   i++;
if(i<j)
{
   s[j]=a[i];
   j--;
}
}

s[i]=x;
return i;
}



    void quick_sort1(int s[], int l, int r)  
    {  
        if (l < r)  
        {  
            int i = FindPivot(s, l, r);//先成挖坑填数法调整s[]  
            quick_sort1(s, l, i - 1); // 递归调用   
            quick_sort1(s, i + 1, r);  
        }  
    }    

posted on 2017-06-08 19:28  毛无语666  阅读(161)  评论(0编辑  收藏  举报

导航