Pagini recente » Cod sursa (job #164393) | Cod sursa (job #1368385) | Cod sursa (job #962462) | Cod sursa (job #2371624) | Cod sursa (job #240761)
Cod sursa(job #240761)
# include <stdio.h>
# define nmax 500001
int i,N, a[nmax];
void quik(int st, int dr)
{
int i=st,j=dr,p=a[st],aux;
if (dr<=st) return;
while (i<j){
while (a[i]<=p && i<j) i++;
while (p<a[j] && j>=i) j--;
if (i<j) {
aux=a[i];a[i]=a[j]; a[j]=aux;
i++; j--;
}
}
a[st]=a[j];
a[j]=p;
quik(st,i-1);
quik(i+1,dr);
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&N);
for (i=1;i<=N;i++)
scanf("%d ",&a[i]);
quik(1,N);
for (i=1;i<=N;i++)
printf("%d ",a[i]);
return 0;
}