Pagini recente » Cod sursa (job #704899) | Cod sursa (job #615985) | Cod sursa (job #951424) | Cod sursa (job #1009282) | Cod sursa (job #290221)
Cod sursa(job #290221)
#include<stdio.h>
#include<iostream>
#define dim 500001
using namespace std;
unsigned long a[dim];
unsigned long quicksort(unsigned long inceput, unsigned long ultimul)
{unsigned long i,j,temp,aux;
i=inceput;
j=ultimul;
temp=a[(i+j)/2];
do
{while(a[i]<temp) i=i+1;
while(a[j]>temp) j=j-1;
if(i<j)
{aux=a[i]; a[i]=a[j]; a[j]=aux;}
if(i<=j)
{j=j-1;
i=i+1;
}
}while(i<=j);
if(inceput<j) quicksort(inceput,j);
if(i<ultimul) quicksort(i,ultimul);
}
int main()
{unsigned long n,i;
FILE *f=fopen("algsort.in","r"), *g=fopen("algsort.out","w");
fscanf(f,"%lu",&n);
for(i=1;i<=n;i++)
fscanf(f,"%lu", &a[i]);
quicksort(1,n);
for(i=1;i<=n;i++)
fprintf(g,"%lu ",a[i]);
fprintf(g,"\n");
fclose(f);
fclose(g);
return 0;
}