holas aqui les dejo el codigo de un ejemplo de busqueda binaria en un vector; esto esta hecho en dev c++.
recordemos que para hacer la busqueda binaria hay un requisito y es que el vector donde se va a buscar debe estar ordenado.
todos los creditos a alejandro ;)
#include
#include
#include0
main()
{
int tam,i=0,u=0,j=0,bus=0,bus1=0,inf=0,sup=0,cent=0;
printf("\tBIENVENIDO, ESTE PROGRAMA UTILIZA LA BUSQUEDA BINARIA\n\n\n");
printf("POR FAVOR DIGITE EL TAMAÑO DEL VECTOR\t\t");
scanf("%d", &tam);
int vec[tam],c=0;
//INICIALIZA EL VECTOR EN 0
for(i=0;ivec[j+1]){
c=vec[j];
vec[j]=vec[j+1];
vec[j+1]=c;
}
}
}
//IMPRIME VECTOR ORDENADO
printf("\n\nVECTOR ORDENADO\n\n");
for(i=0;i
printf("\t\t\tPOSICION %d ES\t%d\n",i,vec[i]);
}
//VALOR A BUSCAR
printf("\n\nDIGITE VALOR A BUSCAR\n\n");
scanf("%d",&bus);
//BUSQUEDA BINARIA
inf=0;
sup=tam-1;
do
{
cent=((sup-inf)/2)+inf;
if(vec[cent]==bus){
printf("\n\nEL VALOR %d SE ENCUENTRA EN EL VECTOR\n\n",bus);
bus1=1;
}
else{
if(bus
{
sup=cent-1;
}
else;
inf=cent+1;
bus1=2;
}
}while(inf<=sup && vec[cent]!=bus);
if(bus1==2)
{
printf("\n\nEL VALOR %d NO SE ENCUENTRA EN EL VECTOR\n\n",bus);
}
getch();
return 0;
}
recordemos que para hacer la busqueda binaria hay un requisito y es que el vector donde se va a buscar debe estar ordenado.
todos los creditos a alejandro ;)
#include
#include
#include
main()
{
int tam,i=0,u=0,j=0,bus=0,bus1=0,inf=0,sup=0,cent=0;
printf("\tBIENVENIDO, ESTE PROGRAMA UTILIZA LA BUSQUEDA BINARIA\n\n\n");
printf("POR FAVOR DIGITE EL TAMAÑO DEL VECTOR\t\t");
scanf("%d", &tam);
int vec[tam],c=0;
//INICIALIZA EL VECTOR EN 0
for(i=0;i
c=vec[j];
vec[j]=vec[j+1];
vec[j+1]=c;
}
}
}
//IMPRIME VECTOR ORDENADO
printf("\n\nVECTOR ORDENADO\n\n");
for(i=0;i
printf("\t\t\tPOSICION %d ES\t%d\n",i,vec[i]);
}
//VALOR A BUSCAR
printf("\n\nDIGITE VALOR A BUSCAR\n\n");
scanf("%d",&bus);
//BUSQUEDA BINARIA
inf=0;
sup=tam-1;
do
{
cent=((sup-inf)/2)+inf;
if(vec[cent]==bus){
printf("\n\nEL VALOR %d SE ENCUENTRA EN EL VECTOR\n\n",bus);
bus1=1;
}
else{
if(bus
{
sup=cent-1;
}
else;
inf=cent+1;
bus1=2;
}
}while(inf<=sup && vec[cent]!=bus);
if(bus1==2)
{
printf("\n\nEL VALOR %d NO SE ENCUENTRA EN EL VECTOR\n\n",bus);
}
getch();
return 0;
}
Comentarios
Publicar un comentario