Pagini recente » Cod sursa (job #677931) | Monitorul de evaluare | Cod sursa (job #116077) | Cod sursa (job #1258019) | Cod sursa (job #1444253)
/* Florin-Gabriel Haja
Algoritmul Quicksort pentru sortarea elementelor unui vector
*/
#include <fstream>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
void quicksort(int v[], int ic, int sf)
{
int x = v[(ic+sf)/2];
int i = ic, j = sf;
do
{
while ((i < sf) && (v[i] < x))
i++;
while ((j > ic) && (v[j] > x))
j--;
if (i <= j)
{
int aux = v[j];
v[j] = v[i];
v[i] = aux;
i++, j--;
}
}while (i <= j);
if (ic < j) quicksort(v, ic, j);
if (i < sf) quicksort(v, i, sf);
}
int main()
{
int n;
in >> n;
int a[n+1];
for (int i = 1; i <= n; i++)
in >> a[i];
quicksort(a, 1, n);
for (int i = 1; i <= n; i++)
out << a[i] << " ";
return 0;
}