Pagini recente » Cod sursa (job #2794725) | Cod sursa (job #1685881) | Cod sursa (job #162255) | Cod sursa (job #1990445) | Cod sursa (job #273841)
Cod sursa(job #273841)
#include <stdio.h>
#include <stdlib.h>
#include<algorithm>
using namespace std;
FILE *f,*g;
long n,a[500001],i;
void inserare(int p, int u)
{
if(a[i]>a[u])return;
if(a[i]>a[p])
{
while (p<=u)
{
long mij=(p+u)/2;
if(a[i]<a[mij])u=mij-1;
else
if(a[i]==a[mij]){p=mij;u=mij-1;}
else p=mij+1;
}
}
long aux=a[i];
for(long j=i;j>p;j--)a[j]=a[j-1];
a[p]=aux;
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%ld",&n);
for(i=0; i<n; i++)
scanf("%ld",&a[i]);
for(i=1;i<n;i++)
inserare(0,i-1);
for(i=0; i<n; i++) printf("%ld ",a[i]);
return 0;
}