Pagini recente » Cod sursa (job #1689574) | Cod sursa (job #728925) | Cod sursa (job #89614) | Cod sursa (job #896242) | Cod sursa (job #2150243)
#include <fstream>
using namespace std;
int n, m, v[500002];
ifstream fin("algsort.in");
ofstream fout("algsort.out");
void citire()
{
fin >> n;
for (int i=1; i<=n; ++i)
fin >> v[i];
}
void quicksort(int st, int dr)
{
int i=st, j=dr;
int mi=dr-((dr-st)/2);
while (i <= j)
{
while (v[i] < v[mi])
++i;
while (v[j] > v[mi])
--j;
if (i <= j)
{
swap(v[i], v[j]);
++i, --j;
}
}
if (st < j) quicksort(st, j);
if (i < dr) quicksort(i, dr);
}
int main()
{
citire();
quicksort(1, n);
for (int i=1; i<=n; ++i)
fout << v[i] << " ";
return 0;
}