Pagini recente » Cod sursa (job #2799280) | Cod sursa (job #386600) | Cod sursa (job #1146399) | Cod sursa (job #873881) | Cod sursa (job #280075)
Cod sursa(job #280075)
#include<stdio.h>
#define MAXN 500001
long int A[MAXN],i,N;
void quicksort(int st, int dr)
{
int pivot,i,j,aux;
pivot=A[(st+dr)/2];
i=st;
j=dr;
do
{
while(A[i]<pivot) i++;
while(A[j]>pivot) j--;
if(i<=j)
{
// A[i]^=A[j]^=A[i]^=A[j];
aux=A[i];
A[i]=A[j];
A[j]=aux;
i++;
j--;
}
}
while(i<=j);
if(st<j)
quicksort(st,j);
if(i<dr)
quicksort(i,dr);
}
int main()
{
FILE*in=fopen("algsort.in","r");
FILE*out=fopen("algsort.out","w");
fscanf(in,"%ld",&N);
for(i=1;i<=N;i++)
fscanf(in,"%ld",&A[i]);
quicksort(1,N);
for(i=1;i<=N;i++)
fprintf(out,"%ld ",A[i]);
return 0;
}