快速排序Quick Sort

shizheng posted @ 2010年4月14日 08:26 in C++ , 928 阅读

 从Pascal语言转化过来的快排代码

void Qsort(long l,long r)
{
  long i,j,x,y;
  i=l; j=r; x= a[(l+r)/2];
  do
  {
    while (a[i]<x) ++i;
    while (x<a[j]) --j;
    if (i<=j)
    {
      y=a[i]; a[i]=a[j]; a[j]=y;
      ++i; --j;
      }
    }
  while(i<=j);
  if (l<j) Qsort(l, j);
  if (i<r) Qsort(i, r);
}

 


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter