Pagini recente » Istoria paginii runda/oji_simulare_2017_cl10/clasament | Cod sursa (job #3167856) | Cod sursa (job #421641) | Cod sursa (job #1718698) | 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;
}