Pagini recente » Cod sursa (job #1665893) | Cod sursa (job #1866890) | Cod sursa (job #1994359) | Cod sursa (job #790053) | Cod sursa (job #1012731)
#include <stdio.h>
#include <stdlib.h>
int v[500000],n;
FILE *f;
void citeste(int v[],int n)
{
int i;
f=fopen("algsort.in","r");
fscanf(f,"%d",&n);
for(i=0;i<n;i++)
fscanf(f,"%d",&v[i]);
fclose(f);
}
void qs(int s,int d)
{
int i,j;
int aux;
i=s;j=d;
int 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=0;i<n;i++)
fprintf(f,"%d",v[i]);
fclose(f);
}
int main()
{
citeste(v,n);
qs(0,n-1);
afis(v,n);
return 0;
}