Pagini recente » Cod sursa (job #2788371) | Cod sursa (job #3037504) | Cod sursa (job #2273815) | Cod sursa (job #2938865) | Cod sursa (job #330671)
Cod sursa(job #330671)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void quicksort (int *a, int left, int right)
{
int i=left, j=right, h;
int x=a[left];
do
{
while (a[i]<x) i++;
while (a[j]>x) j--;
if (i<=j)
{
h=a[i]; a[i]=a[j]; a[j]=h;
i++; j--;
}
} while (i<=j);
if (left<j) quicksort(a, left, j);
if (i<right) quicksort(a, i, right);
}
int main()
{
FILE *in, *out;
int n,i;
int *a;
in = fopen("algsort.in","r");
out = fopen("algsort.out","w");
fscanf(in,"%d",&n);
a=(int*)malloc((n+1)*sizeof(int));
for (i=0; i<n;i++)
fscanf(in,"%d ",(a+i));
quicksort(a,0,n-1);
for (i=0; i<n;i++)
fprintf(out,"%d ",a[i]);
fclose(in);
fclose(out);
return 0;
}