六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 25|回复: 0

常用排序算法的实现(C语言版)-快速排序

[复制链接]

升级  8%

18

主题

18

主题

18

主题

秀才

Rank: 2

积分
62
 楼主| 发表于 2013-1-26 12:28:37 | 显示全部楼层 |阅读模式
快速排序:
/**将r位置中的位置移动到正确位置q上,并返回q,使得在a[p]..a[q-1] < a[q],a[q+1]..a[r] > a[q]*/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) {int  q;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[r];i = p - 1;for (j = p; j < r; j++) {if (a[j] <= x) {i++;swap(a, i, j);}}i++;swap(a, i, r);return i;}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表