Pagini recente » Cod sursa (job #344708) | Cod sursa (job #3151907) | Cod sursa (job #1903915) | Cod sursa (job #186582) | Cod sursa (job #3003771)
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <time.h>
using namespace std;
void quicksort(int left, int right, int v[])
{
if (left < right)
{
int pozpivot = left + rand() % (right - left + 1);
int pivot = v[pozpivot];
swap(v[pozpivot], v[right]);
int i = left - 1,j;
for (j=left; j < right; j++)
{
if (v[j] <= pivot)
{
i++;
swap(v[i], v[j]);
}
}
swap(v[i + 1], v[right]);
pozpivot = i + 1;
quicksort(left, pozpivot - 1,v);
quicksort(pozpivot + 1, right,v);
}
}
int main()
{
srand ( time(NULL) );
ifstream f1 ("algsort.in");
ofstream f2 ("algsort.out");
int n,i;
f1>>n;
int v[n];
for (i=0; i<n; i++)
f1>>v[i];
quicksort(0,n-1,v);
for (i=0; i<n; i++)
f2<<v[i]<< " ";
return 0;
}