Pagini recente » Cod sursa (job #291782) | Cod sursa (job #1701018) | Cod sursa (job #475487) | Cod sursa (job #882073) | Cod sursa (job #625722)
Cod sursa(job #625722)
#include <stdio.h>
using namespace std;
int n,a[502000],i,min,j,k;
void qsort(int left, int right)
{
int j=right;
int i=left;
int middle=a[(left+right)/2];
int aux;
do
{
while((a[i]<middle) && (i<n)) ++i;
while((a[j]>middle) && (j>1)) --j;
if (i<=j){
aux=a[i];
a[i]=a[j];
a[j]=aux;
++i;
--j;
}
}
while(i<=j);
if (left<j)
qsort(left,j);
if (i<right)
qsort(i,right);
}
int main(){
FILE *f=fopen("algsort.in","rt");
FILE *g=fopen("algsort.out","wt");
fscanf(f,"%d", &n);
for (i=1;i<=n;++i)
fscanf(f,"%d", &a[i]);
qsort(1,n);
for (i=1;i<=n;++i)
fprintf(g,"%d ", a[i]);
return 0;
}