Pagini recente » Cod sursa (job #2109121) | Cod sursa (job #2467166) | Cod sursa (job #1320728) | Cod sursa (job #2620731) | Cod sursa (job #1824184)
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[500001],n,e;
void citire()
{
fin>>n;
for(int i = 0; i < n; ++i)
{
fin>>v[i];
}
}
void schimba(int p, int u)
{
int k;
k = v[p];
v[p] = v[u];
v[u] = k;
}
void quickSort(int prim, int ult)
{
if(prim < ult)
{
int pivot = v[(prim + ult) / 2];
int p = prim, u = ult, f;
while(p <= u)
{
while(p < ult and v[p] < pivot) ++p;
while(u > prim and v[u] > pivot) --u;
if(p <= u)
{
schimba(p,u);
++p;
--u;
}
}
if(prim < u)quickSort(prim, u);
if(p < ult)quickSort(p, ult);
}
}
int main()
{
citire();
quickSort(0,n - 1);
for(int i = 0; i < n; ++i)
{
fout<<v[i]<<" ";
}
}