Código C++ – Ordenamiento por Inserción Binaria


//Selection binary
//Codificado por sAfOrAs
#include<iostream>
#include"leearreglo.h"
using namespace std;
#define largo 50
void insercionBinaria(int A[],int n)
{
	int i,j,aux,izq,der,m;
	for(i=1;i<n;i++)
    	{
           		aux = A[i];
           		izq=0;
           		der=i-1;
           		while(izq<=der)
           		{
			m=((izq+der)/2);
			if (aux<A[m])
				der=m-1;
			else
              			izq=m+1;              
          		 }
           		j=i-1;
          		while(j>=izq)
          		{
	   		A[j+1]=A[j];
	    		j=j-1;
          		}
          		A[izq]=aux;
	}
}
 
 
void main () 
{
    int A[largo],n;
	do{
	cout<<"Cantidad de numeros a ingresar: ";cin>>n;
		if(n<=0||n>largo)
			cout<<"Debe ingresar un valor  > a 0 y < a "<<largo<<endl;
	}while(n<=0||n>largo);

    leeCadena(n,A);
    insercionBinaria(A,n);
    muestraCadena(n,A);
  
}
#include<iostream>
using namespace std;
void leeCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<"Ingresa numero "<<i+1<<": ";
		cin>>n[i];
	}
	
}

void muestraCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<n[i]<<endl;
	}
}
Anuncios

8 comentarios sobre “Código C++ – Ordenamiento por Inserción Binaria

Deja tu comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s