搜索
查看: 276|回复: 2
打印 上一主题 下一主题

鬼快排

[复制链接]
跳转到指定楼层
楼主
发表于 2018-3-17 10:48:59 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
#include <stdio.h>
#include <stdlib.h>
int a[101],n;
void dd(int l,int r)
{
int i,j,t,tt;
if(l>r)
return ;

tt=a[l];
i=l;
j=r;
while(i!=j)
{
while(a[j]>=tt && i<j)
j--;
while(a[i]<=tt && i<j)
i++;
if(i<j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}

a[l]=a[i];
a[i]=tt;
dd(l,i-1);
dd(i+1,r);
return;
}
int main()
{
        int i,j;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    scanf("%d",&a[i]);
    dd(i,n);
    for(i=1;i<=n;i++)
    printf("%d",a[i]);
    printf(" ");
        system("pause");
        return 0;
}


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表