Pagini recente » Cod sursa (job #1480424) | Cod sursa (job #895554) | Cod sursa (job #1478476) | Cod sursa (job #978216) | Cod sursa (job #2987506)
#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 i, pivot, m;
if (left < right)
{
m = left - 1;
pivot = (rand() % (right - left + 1)) + left;
for (i = left; i < right; i++)
{
if (v[i] < v[pivot])
{
m++;
swap(v[i], v[m]);
}
}
swap(v[m + 1], v[pivot]);
m++;
quicksort(v, left, m-1);
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;
}