Pagini recente » Cod sursa (job #2125782) | Cod sursa (job #724774) | Cod sursa (job #83510) | Cod sursa (job #2462907) | Cod sursa (job #847996)
Cod sursa(job #847996)
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int poz(int v[500001], int x,int y)
{
int i, j,aux;
aux = v[x];
i = x-1;
j = y+1;
while (i < j)
{
do j--;
while (v[j] > aux);
do i++;
while (v[i] < aux);
if (i < j)
{
int a;
a = v[i];
v[i] = v[j];
v[j] = a;
}
}
return j;
}
void QS(int a[500001], int s, int d)
{
int p;
if(s<d)
{
p=poz(a,s,d);
QS(a,s,p-1);
QS(a,p+1,d);
}
}
void citire(int a[500001], int &n)
{
int i;
fin>>n;
for(i=1;i<=n;i++) fin>>a[i];
}
void afis(int a[500001], int n)
{
int i;
for(i=1;i<=n;i++) fout<<a[i]<<" ";
}
int main()
{
int a[500001], n;
citire(a,n);
QS(a,1,n);
afis(a,n);
return 0;
}