数据结构 快速排序

看完算法导论按照自己的思路写的

void exchange(int& a, int& b)
{
  int temp = a;
 a = b;
 b = temp;
}
void qsort(int arr[], int p, int q)
{
 if (p >= q) return;
 int i = p-1, j = p, A = arr[q];
 while (j < q)
 {
  if (arr[j] <= A)
  {
   ++i;
   ++j;
   exchange(arr[i], arr[j - 1]);
  }
  else
   ++j;
 }
 exchange(arr[i + 1], arr[q]);
 int r = i + 1;
 qsort(arr, p, r - 1);
 qsort(arr, r + 1, q);
}
发布了90 篇原创文章 · 获赞 7 · 访问量 2184

猜你喜欢

转载自blog.csdn.net/weixin_43784305/article/details/102786464