Pagini recente » Cod sursa (job #1838282) | Cod sursa (job #1756749) | Cod sursa (job #2197643) | Cod sursa (job #1774909) | Cod sursa (job #2279006)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int pivot(int st, int dr, int v[500000])
{
int piv=v[st],x;
while(st<=dr)
{
if(v[st]>v[dr])
{
x=v[st];
v[st]=v[dr];
v[dr]=x;
}
if(piv==v[st])
dr--;
else
st++;
}
return st;
}
void qs(int st, int dr, int v[500000])
{
if(st<=dr)
{
int k=pivot(st,dr,v);
qs(st,k-1,v);
qs(k+1,dr,v);
}
}
int main()
{
int n,v[500000];
f>>n;
for(int i=1; i<=n; i++)
f>>v[i];
qs(1,n,v);
for(int i=1; i<=n; i++)
g<<v[i]<<" ";
return 0;
}