Pagini recente » Cod sursa (job #926444) | Cod sursa (job #85192) | Cod sursa (job #2987504) | Cod sursa (job #1881112) | Cod sursa (job #2987499)
#include <fstream>
#include <cstdlib>
using namespace std;
ifstream f;
ofstream g;
void bublesort(int v[], int n)
{
int i, aux;
bool ok = 1;
while (ok == 1)
{
ok = 0;
for(i=0;i<n-1;i++)
if (v[i] > v[i + 1])
{
ok = 1;
aux = v[i];
v[i] = v[i + 1];
v[i + 1] = aux;
}
}
}
void quicksort(int v[], int left, int right)
{
int aux, i, pivot, m;
m = left - 1;
pivot = (rand() % (right - left + 1)) + left;
for (i = left; i <= right; i++)
{
if (v[i] > v[pivot])
{
swap(v[i], v[pivot]);
pivot = i;
m++;
}
}
quicksort(v, left, m);
quicksort(v, m + 1, right);
}
int main()
{
f.open("algsort.in");
int n, v[500000], i;
f >> n;
for (i = 1; i <= n; i++)
f >> v[i];
f.close();
quicksort(v, 1, n);
g.open("algsort.out");
for (i = 1; i <= n; i++)
g << v[i] << ' ';
g.close();
return 0;
}