解题思路:
注意事项:
参考代码:
#include <stdio.h>
int a[100005],n;
void gg(int l,int r)
{
int mid=a[(l+r)/2];
int i=l,j=r;
while(i<=j)
{
while(a[i]<mid)
i++;
while(a[j]>mid)
j--;
if(i<=j)
{
int t=a[i];
a[i]=a[j];
a[j]=t;
i++;
j--;
}
}
if(l<j) gg(l,j);
if(i<r) gg(i,r);
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
gg(1,n);
for(int i=1;i<=n;i++)
printf("%d ",a[i]);
return 0;
}
0.0分
3 人评分
A+B for Input-Output Practice (IV) (C++代码)浏览:676 |
不容易系列 (C语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1029 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:1195 |
【绝对值排序】 (C语言代码)浏览:820 |
DNA (C语言代码)浏览:540 |
Tom数 (C语言代码)浏览:492 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:401 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:548 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:553 |