Pagini recente » Cod sursa (job #72418) | Cod sursa (job #308829) | Cod sursa (job #2785963) | Cod sursa (job #2805345) | Cod sursa (job #1275970)
#include <cstdio>
#include <algorithm>
using namespace std;
inline void scanfvect(int v[1005],int &n)
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&v[i]);
}
inline void printfvect(int v[1005],int n)
{
for(int i=1;i<=n;i++) printf("%d ",v[i]);
}
int v[500010],n;
inline void divide(int s,int d,int &m)
{
int is=1,id=0;
while(s<=d)
{
if(v[s]>v[d])
{
swap(v[s],v[d]);swap(is,id);
}
m=s;
s+=is;
d-=id;
}
}
void quicksort(int v[500000],int s,int d)
{
int m;
if(s<=d)
{
divide(s,d,m);
quicksort(v,s,m-1);
quicksort(v,m+1,d);
}
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanfvect(v,n);
quicksort(v,1,n);
printfvect(v,n);
}