首页 > 学院 > 开发设计 > 正文

快速排序

2019-11-08 02:03:30
字体:
来源:转载
供稿:网友

void quick_sort(int s[], int l, int r){    int i, j, x;    if (l < r)    {        i = l;        j = r;        x = s[i];        while (i < j)        {            while(i < j && s[j] > x)                j--; /* 从右向左找第一个小于x的数 */            if(i < j)            {                s[i] = s[j];                i++;            }            while(i < j && s[i] < x)                i++; /* 从左向右找第一个大于x的数 */            if(i < j)            {                s[j] = s[i];                j--;            }        }        s[i] = x;        quick_sort(s, l, i-1); /* 递归调用 */        quick_sort(s, i+1, r);    }}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表