Pagini recente » Cod sursa (job #978253) | Cod sursa (job #2089239) | Cod sursa (job #972532) | Cod sursa (job #2528027) | Cod sursa (job #240508)
Cod sursa(job #240508)
# include <stdio.h>
# define nmax 500001
int i,N, a[nmax];
void quik(int st, int dr)
{
int i,j,p,aux;
i=st;j=dr;
p=a[st];
while (i<=j){
while (a[i]<=p && i<dr) i++;
while (p<a[j] && j>st) j--;
if (i<j) {
aux=a[i];a[i]=a[j]; a[j]=aux;
}
}
a[st]=a[j];
a[j]=p;
if (st<j-1) quik(st,j-1);
if (j+1<dr) quik(j+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;
}