Pagini recente » Cod sursa (job #1404936) | Cod sursa (job #2561637) | Cod sursa (job #1896465) | Cod sursa (job #969960) | Cod sursa (job #330736)
Cod sursa(job #330736)
#include<stdio.h>
#include<cstdlib>
int tablou[500000];
void quickSort(int st,int dr)
{
int temp,min,max,mijl;
min = st;
max = dr;
mijl = tablou[(int)(st + (std::rand()%(dr-st)))];
do
{
while(tablou[min] < mijl) min++;
while(tablou[max] > mijl) max--;
if(min <= max)
{
temp = tablou[min];
tablou[min++] = tablou[max];
tablou[max--] = temp;
}
}while(min <= max);
if(st < max)
quickSort(st,max);
if(min < dr)
quickSort(min,dr);
}
int main(void)
{
int n;
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&n);
for(int i = 0; i < n; i++)
scanf("%d",&tablou[i]);
quickSort(0,n-1);
for(int i = 0; i < n; i++)
printf("%d ",tablou[i]);
fclose(stdin); fclose(stdout);
return 0;
}