Pagini recente » Cod sursa (job #2344078) | Cod sursa (job #1621786) | Cod sursa (job #832401) | Cod sursa (job #190978) | Cod sursa (job #371887)
Cod sursa(job #371887)
# include <fstream>
using namespace std;
ifstream fin ("algsort.in");
ofstream fout ("algsort.out");
void read (int &n, int v[])
{
fin>>n;
for (int i=1;i<=n;i++)
fin>>v[i];
}
void qs (int st, int dr, int v[])
{
if (st<dr)
{
int q=(st+dr)/2, i=st, j=dr, d=0, aux;
aux=v[st], v[st]=v[q], v[q]=aux;
while (i<j)
{
if (v[i]>v[j])
{
aux=v[i], v[i]=v[j], v[j]=aux;
d=1-d;
}
i+=d;
j-=1-d;
}
qs(st, i-1, v);
qs(i+1, dr, v);
}
}
int main ()
{
int v[500002], n;
read (n, v);
qs(1, n, v);
for (int i=1;i<=n;i++)
fout<<v[i]<<" ";
return 0;
}