Cod sursa(job #1571276)

Utilizator adu18sptAndrei Mircea adu18spt Data 17 ianuarie 2016 18:55:43
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
long n,a[500001],aux,st,dr,mij,i,j;
int main()
{
	fin>>n;
	
	//citire
	for(i=0;i<n;i++)
	{
		fin>>a[i];
	}
	
	//qsort
	
	for(i=1;i<n;i++)
	{
		aux=a[i];
		st=0;
		dr=i-1;
		while(st<=dr)
		{
			mij=(st+dr)/2;
			if(aux<a[mij])
			dr=mij-1;
			else
			st=mij+1;
		}
		j=i-1;
		while(j>=st)
		{
			a[j+1]=a[j];
			j--;
		}
		a[st]=aux;
	}
	
	//afisare
	
	for(i=0;i<n;i++)
	{
		fout<<a[i]<<" ";
	}
	
	return 0;
}