Pagini recente » Cod sursa (job #1373273) | Cod sursa (job #1653785) | Cod sursa (job #1576450) | Cod sursa (job #1522761) | Cod sursa (job #316399)
Cod sursa(job #316399)
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<vector>
using namespace std;
vector <int> a(1);
int n,x,i;
int part(int st,int dr)
{
int i=st-1,j,x=a[dr];
for(j=st;j<=dr;j++)
if(a[j]<=x)
swap(a[i++],a[j]);
if(i>=dr)
i--;
return i;
}
void QSort(int st,int dr)
{
if(st<dr)
{
int q=part(st,dr);
QSort(st,q);
QSort(q+1,dr);
}
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&x);
a.push_back(x);
}
QSort(1,n);
for(i=1;i<=n;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}