Pagini recente » Cod sursa (job #1227756) | Cod sursa (job #1659394) | Cod sursa (job #2199055) | Cod sursa (job #2353537) | Cod sursa (job #1019629)
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
int n,k;
int v[100];
void 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;
}
p=i;
}
void QUICKSORT(int left,int right)
{ int pivot;
if (left < right)
{ 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;
}