C++实现快速排序算法
来源:优易学  2010-1-14 19:28:08   【优易学:中国教育考试门户网】   资料下载   IT书店

  int partition(int* a,int l,int r)
  {
  int i=l-1,j=r,v=a[r];
  while(1)

  {
  while(a[++i]<v||a[--j]>v) if(j<=i) break;
  if(i>=j)
  break;
  swap(a[i],a[j]);
  }
  swap(a[i],a[r]);
  return i;
  }
  void qsort(int* a,int l,int r)
  {
  if(l>=r) return;
  int i = partition(a,l,r);
  qsort(a,l,i-1);
  qsort(a,i+1,r);

  }

责任编辑:cyth

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训