You are on page 1of 2

void burbuja(int numero[1000], int tope)

{
int x,aux,y;
cb=0;
for (x=0; x<=tope; x++)
{
for (y=0;y<tope; y++)
{
if(numero[y]>numero[y+1])
{
aux=numero[y];
numero[y]=numero[y+1];
numero[y+1]=aux;
};
cb=cb+1;
};
};
cout<<"\n BURBUJA"<<endl;
for (x=0; x<=tope; x++)
cout<<" "<<numero[x]<<endl;
};

void burbuja_senal(int numero[1000], int tope)


{
int band=0,aux,x=0;
cbs=0;
while(band==0)
{
band=1;
for (x=0; x<tope; x++)
{
if (numero[x]>numero[x+1])
{
aux=numero[x];
numero[x]=numero[x+1];
numero[x+1]=aux;
band=0;
};
cbs=cbs+1 ;
};
};
cout<<"\n BURBUJA CON SEAL"<<endl;
for (x=0; x<=tope; x++)
cout<<" "<<numero[x]<<endl;
};

void insercion(int numero[1000], int tope)


{
int x,y,aux;
id=0;
for (x=1; x<=tope; x++)
{
aux=numero[x];
y=x-1;
while ((y>=0) && (numero[y]>aux))
{
id=id+1;
numero[y+1]=numero[y];
y--;
};
numero[y+1]=aux;
};
cout<<"\n INSERCION DIRECTA"<<endl;
for (x=0; x<=tope; x++)
cout<<" "<<numero[x]<<endl;
};

void insercion_binaria(int numero[1000], int tope)


{
int x,y,aux,izq,der,m;
cib=0;
for(x=1;x<=tope;x++)
{
aux = numero[x];
izq=0;
der=x-1;
while(izq<=der)
{
m=((izq+der)/2);
if (aux<numero[m])
der=m-1;
else
izq=m+1;
cib=cib+1;
};
y=x-1;
while(y>=izq)
{
numero[y+1]=numero[y];
y=y-1;
};
numero[izq]=aux;
};
cout<<"\n INSERCION BINARIA"<<endl;
for (x=0; x<=tope; x++)
cout<<" "<<numero[x]<<endl;
};

You might also like