Pagini recente » Cod sursa (job #572030) | Cod sursa (job #2086972) | Cod sursa (job #2052642) | Cod sursa (job #1888645) | Cod sursa (job #1012746)
#include <stdio.h>
#include <stdlib.h>
int v[500000],n;
FILE *f;
void citeste(int v[],int vsize)
{
int i;
f=fopen("algsort.in","r");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
fclose(f);
}
void qs(int s,int d)
{
int i,j;
int aux;
int pivot;
i=s;j=d;
pivot = v[rand() % i+j];
while(i<=j){
while(v[i]<pivot){i++;}
while(v[j]>pivot){j--;}
if(i<=j){aux=v[i];v[i]=v[j];v[j]=aux;i++;j--;}
if(s<j) qs(s,j);
if(i<d) qs(i,d);
}
}
void afis(int v[],int n)
{
int i;
f=fopen("algsort.out","w");
for(i=1;i<=n;i++)
fprintf(f,"%d ",v[i]);
fclose(f);
}
int main()
{
citeste(v,n);
qs(1,n);
afis(v,n);
return 0;
}