Pagini recente » Cod sursa (job #1975071) | Cod sursa (job #395586) | Cod sursa (job #2728198) | Cod sursa (job #657369) | Cod sursa (job #2673098)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f ("algsort.in");
ofstream g("algsort.out");
int v[500000],n,i,j;
void QS(int x,int y)
{
if(x<y)
{
if(v[x]>v[(y+x)/2])
swap(v[x],v[(y+x)/2]);
if(v[x]>v[y])
swap(v[x],v[y]);
if(v[(y+x)/2]>v[y])
swap(v[(y+x)/2],v[y]);
i=x;
swap(v[(y+x)/2],v[y]);
for(j=x;j<=y-1;j++)
if(v[j]<v[y])
{
swap(v[i],v[j]);
i++;
}
swap(v[y],v[i]);
QS(x,i-1);
QS(i+1,y);
}
}
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
QS(1,n);
for(i=1;i<=n;i++)
g<<v[i]<<" ";
}