Pagini recente » Cod sursa (job #1442867) | Cod sursa (job #1952517) | Cod sursa (job #2507397) | Cod sursa (job #3254494) | Cod sursa (job #590828)
Cod sursa(job #590828)
#include <cstdio>
#include <algorithm>
FILE *g=fopen("algsort.in","r");
FILE *z=fopen("algsort.out","w");
using namespace std;
int v[500005];
void qsort(int l,int r)
{
int i=l,j=r,t=v[(r+l/2)];
bool ok=0;
while(i<=j)
{
while(v[i]<t)
i++;
while(v[j]>t)
j--;
if(i<=j)
{
swap(v[i],v[j]);
i++;
j--;
ok=1;
}
}
if(ok==1)
{
if(l<j)
qsort(l,j);
if(i<r)
qsort(i,r);
}
}
int main()
{
int n,i;
fscanf(g,"%d",&n);
for(i=1;i<=n;i++)
fscanf(g,"%d",&v[i]);
qsort(1,n);
for(i=1;i<=n;i++)
{
fprintf(z,"%d ",v[i]);
}
return 0;
}