Pagini recente » Cod sursa (job #1601025) | Cod sursa (job #2667072) | Cod sursa (job #2221728) | Cod sursa (job #1454503) | Cod sursa (job #1275964)
#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[1005],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[1005],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);
}