Pagini recente » Cod sursa (job #3130212) | Cod sursa (job #3217409) | Cod sursa (job #3178890) | Cod sursa (job #271575) | Cod sursa (job #1499279)
#include <iostream>
#include <fstream>
#define nmax 500009
using namespace std;
long n,a[nmax];
ifstream fin("algsort.in");
ofstream fout("algsort.out");
void sortare(long st,long dr)
{
long 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()
{long i;
fin>>n;
for(i=1;i<=n;i++)
fin>>a[i];
sortare(1,n);
for(i=1;i<=n;i++)
fout<<a[i]<<' ';
}