Pagini recente » Statistici Cismaru Mihai Claudiu (Cismaru_Mihai_Claudiu_322CC) | Cod sursa (job #1585019) | Cod sursa (job #55546) | Cod sursa (job #1761452) | Cod sursa (job #2294914)
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
#include <algorithm>
using namespace std;
int v[3000001];
int partitie(int v[],int st, int dr)
{
srand(time(NULL));
int aux=st+rand()%(dr-st);
swap(v[aux],v[dr]);
int pivot=v[dr],j,i=st-1;
for(j=st;j<=dr-1;j++)
{
if(v[j]<=pivot)
{
i++;
swap(v[i],v[j]);
}
}
swap(v[i+1],v[dr]);
return (i+1);
}
void QuickSort(int v[],int st, int dr)
{
if(st<dr)
{
int pivot=partitie(v,st,dr);
QuickSort(v,st,pivot);
QuickSort(v,pivot+1, dr);
}
}
int main()
{
int N,i;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
fin>>N;
for(i=0;i<=N-1;i++)
{
fin>>v[i];
}
QuickSort(v,0,N-1);
for(i=0;i<=N-1;i++)
{
fout<<v[i]<<" ";
}
return 0;
}