Pagini recente » Cod sursa (job #401006) | Cod sursa (job #18382) | Cod sursa (job #2338755) | Cod sursa (job #2184221) | Cod sursa (job #1019634)
#include<stdio.h>
int n,k;
int v[100];
int p;
int PARTITION( int left, int right, int p)
{
int 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)
{ int 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;
}