快速排序QS

来源:互联网 发布:逛淘宝费流量多少 编辑:程序博客网 时间:2024/05/17 22:05
#include<iostream>using namespace std;int Partition(int a[], int p, int r){int i = p, j = r + 1, s;int x = a[p];while (1){while (a[++i] < x&&i < r);while (a[--j]>x);if (i >= j)break;s = a[i];a[i] = a[j];a[j] = s;}a[p] = a[j];a[j] = x;return j;}void QS(int a[], int p, int r){if (p < r){int q = Partition(a, p, r);QS(a, p, q - 1);QS(a, q + 1, r);}}