Pagini recente » Cod sursa (job #2115528) | Cod sursa (job #2819268) | Cod sursa (job #2147022) | Cod sursa (job #1727763) | Cod sursa (job #1019635)
#include<stdio.h>
int n,k;
long v[500000];
long p;
int PARTITION( int left, int right, int p)
{
long aux, x;
int i = left;
int j = right;
x = v[left];
while (i<j)
{
if(v[i]>v[j])
{ aux=v[i];
v[i]=v[j];
v[j]=aux;
}
if (v[i]==x)
j=j-1;
else
i=i+1;
}
return i;
}
void QUICKSORT(int left,int right)
{ long pivot=0;
if (left < right)
{ pivot=PARTITION( left, right,pivot);
QUICKSORT( left, pivot-1);
QUICKSORT( pivot+1, right);
}
}
int main()
{
int i,k;
FILE *f=fopen("algsort.in","r");
FILE *g=fopen("algsort.out","w");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
QUICKSORT(1,n);
for(k=1;k<=n;k++)
fprintf(g,"%d ",v[k]);
return 0;
}