Pagini recente » Cod sursa (job #1527534) | Cod sursa (job #2389818) | Cod sursa (job #2108916) | Cod sursa (job #390720) | Cod sursa (job #2429016)
#include <iostream>
#include <fstream>
#define DIMMAX 500000
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
void intsch(int &a, int &b)
{
int aux;
if (a != b)
{
aux = a;
a = b;
b = aux;
}
}
int part(int v[], int s, int d)
{
int i = s, j;
for (j = i; j < d; j++)
if (v[j] < v[d])
{
intsch(v[i], v[j]);
i++;
}
intsch(v[i], v[d]);
return i;
}
void quicksort(int v[], int s, int d)
{
int pi;
if (s < d)
{
pi = part(v, s, d);
quicksort(v, s, pi-1);
quicksort(v, pi+1, d);
}
}
int main()
{
int n, v[DIMMAX], i;
fin>>n;
for (i = 0; i < n; i++)
fin>>v[i];
quicksort(v, 0, n-1);
for (i = 0; i < n; i++)
fout<<v[i]<<" ";
fin.close();
fout.close();
}