Pagini recente » Cod sursa (job #692234) | Cod sursa (job #2122998) | Cod sursa (job #216525) | Cod sursa (job #2920151) | Cod sursa (job #2611459)
#include <iostream>
#include<fstream>
using namespace std;
ifstream f ("algsort.in");
ofstream g ("algsort.out");
int functie(int v[],int st,int dr)
{
int pivot = v[rand()% (dr-st+1) + st];
int i = st-1;
for(int j=st; j<=dr; j++)
{
if(v[j]<pivot)
{
i++;
swap(v[i],v[j]);
}
}
swap(v[i+1],v[dr]);
int poz = i+1;
return poz;
}
void QuickSort(int v[],int st,int dr)
{
int poz;
if(st<dr)
{
poz=functie(v,st,dr);
QuickSort(v,st,poz-1);
QuickSort(v,poz+1,dr);
}
}
int n;
int main()
{
f>>n;
int v[n];
for(int i=0;i<n;i++)
f>>v[i];
QuickSort(v,0,n-1);
for(int i=0;i<n;i++)
g<<v[i]<<" ";
return 0;
}