Pagini recente » Cod sursa (job #310833) | Cod sursa (job #1677978) | Cod sursa (job #1147762) | Cod sursa (job #116777) | Cod sursa (job #349340)
Cod sursa(job #349340)
#include <stdio.h>
#define nmax 500009
typedef long long big;
typedef unsigned uint;
FILE *f=fopen("algsort.in","r");
FILE *g=fopen("algsort.out","w");
big A[nmax];
uint n;
void swap(big &x,big &y)
{
big xx=x;
x=y;
y=xx;
}
void read()
{
fscanf(f,"%ld",&n);
for(int i=1;i<=n;i++)
fscanf(f,"%ld",&A[i]);
}
void qsort(uint l,uint r)
{
uint i,j,k;
j=l-1;
for(i=l;i<=r;i++)
if(A[i]<=A[r])
swap(A[++j],A[i]);
if(j-1>l)
qsort(l,j-1);
if(j+1<r)
qsort(j+1,r);
}
void show()
{
for(int i=1;i<=n;i++)
fprintf(g,"%ld ",A[i]);
}
int main()
{
read();
qsort(1,n);
show();
return 0;
}