Pagini recente » Cod sursa (job #2788810) | Cod sursa (job #1078887) | Cod sursa (job #1834895) | Cod sursa (job #39768) | Cod sursa (job #1018031)
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <time.h>
using namespace std;
ifstream in ("algsort.in");
ofstream out ("algsort.out");
int N, v[200];
void interschimb (int &x, int &y)
{
int aux=x;
x=y;
y=aux;
}
void quicksort(int poz_piv, int a, int b)
{
if (b-a>0)
{
int i=a, j=b;
while (i<=j)
{
while (v[i]<v[poz_piv])
i++;
while (v[j]>v[poz_piv])
j--;
if (i<=j)
{
interschimb(v[i], v[j]);
i++;
j--;
}
}
quicksort(a, a, j);
quicksort(i, i, b);
}
}
int main()
{
in>>N;
for (int i=0;i<N;i++)
in>>v[i];
srand (time(NULL));
quicksort(rand()%N, 0, N-1);
for (int i=0;i<N;i++)
out<<v[i]<<" ";
return 0;
}