Pagini recente » Cod sursa (job #1605046) | Cod sursa (job #2555092) | Cod sursa (job #2869858) | Cod sursa (job #268725) | Cod sursa (job #2712069)
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int n,v[500001],aux;
void QuickSort(int low,int high)
{
if(low<high)
{
int pivot=low+rand()%(high-low+1);
aux=v[pivot];
v[pivot]=v[low];
v[low]=aux;
int i=low+1,j=high;
while(i<=j)
{
if(v[i]>=pivot)
{
if(v[j]<pivot)
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
i++;
j--;
}
else j--;
}
else i++;
}
aux=v[low];
v[low]=v[j];
v[j]=aux;
QuickSort(low,j);
QuickSort(j+1,high);
}
}
int main()
{
srand(time(NULL));
f>>n;
for(int i=1; i<=n; i++)
f>>v[i];
QuickSort(1,n);
for(int i=1; i<=n; i++)
g<<v[i]<<" ";
return 0;
}