Pagini recente » Cod sursa (job #2740083) | Cod sursa (job #1939929) | Cod sursa (job #3211997) | Cod sursa (job #3200930) | Cod sursa (job #17916)
Cod sursa(job #17916)
#include<stdio.h>
int a[100];
FILE *f,*g;
int part (int st,int dr)
{
int i=st,j=dr,s=-1;
while(i<j)
{
if(a[i]>a[j])
{
int t=a[i];
a[i]=a[j];
a[j]=t;
s=-s;
}
if(s==-1)
i++;
else
j--;
}
return i;
}
void qsort(int st,int dr)
{
if(st<dr)
{
int p=part(st,dr);
qsort(st,p-1);
qsort(p+1,dr);
}
}
void main()
{
int n;
f=fopen("qsort.in","r");
g=fopen("qsort.out","w");
fscanf(f,"%d",&n);
for(int i=0;i<n;i++)
fscanf(f,"%d",&a[i]);
qsort(0,n-1);
for(i=0;i<n;i++)
fprintf(g,"%d ",a[i]);
fcloseall();
}