常用排序算法的实现(C语言版)-快速排序
快速排序:/**将r位置中的位置移动到正确位置q上,并返回q,使得在a..a < a,a..a > a*/int partition(int a[], int p, int r);void qSort(int a[], int p, int r);void quickSort(int a[], int n) {qSort(a, 0, n - 1);}void qSort(int a[], int p, int r) {intq;while (p < r) {q = partition(a, p, r);qSort(a, p, q - 1);p = q + 1;}}int partition(int a[], int p, int r) {int x, i, j;x = a;i = p - 1;for (j = p; j < r; j++) {if (a <= x) {i++;swap(a, i, j);}}i++;swap(a, i, r);return i;}
页:
[1]