Pagini recente » Cod sursa (job #2560266) | Cod sursa (job #2168629) | Cod sursa (job #2737498) | Cod sursa (job #1306126) | Cod sursa (job #1499291)
#include <iostream>
#include <fstream>
#include <cstdio>
#define nmax 500009
using namespace std;
int n,a[nmax];
ifstream fin("algsort.in");
ofstream fout("algsort.out");
void sortare(int st,int dr)
{
int i=st,j=dr,x=a[st];
while(i<j)
{while(i<j && a[j]>=x)j--;
a[i]=a[j];
while(i<j && a[i]<=x)i++;
a[j]=a[i];
}
a[i]=x;
if(i-1>st)sortare(st,i-1);
if(i+1<dr)sortare(i+1,dr);
}
int main()
{
/* fin>>n;
for(i=1;i<=n;i++)
fin>>a[i];
sortare(1,n);
for(i=1;i<=n;i++)
fout<<a[i]<<' ';
*/
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
sortare(1,n);
for(int i=1;i<=n;i++)
printf("%d ",a[i]);
return 0;
}