Pagini recente » Cod sursa (job #165645) | Cod sursa (job #1576856) | Cod sursa (job #295953) | Cod sursa (job #2394889) | Cod sursa (job #641566)
Cod sursa(job #641566)
#include<stdio.h>
void citire( int A[],int &n)
{
int i;
scanf("%i",&n);
for(i=0;i<n;i++)
scanf("%i",&A[i]);
}
void interschimbare(int &x,int &y)
{
int aux=x;
x=y;
y=aux;
}
int pivot(int A[],int st,int dr)
{
int i=st-1;
int x=A[dr];
int j;
for(j=st;j<=dr-1;j++)
if(A[j]<=x)
{
i++;
interschimbare(A[i],A[j]);
}
interschimbare(A[i+1],A[dr]);
return i+1;
}
void Quicksort(int A[],int st,int dr)
{
if(st<dr)
{
int q=pivot(A,st,dr);
Quicksort(A,st,q-1);
Quicksort(A,q+1,dr);
}
}
int main()
{
int A[500000];
int n;
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
citire(A,n);
Quicksort(A,0,n-1);
for(int i=0;i<n;i++)
printf("%i ",A[i]);
return 0;
}