#include <stdio.h>
int buscar(int v[], int i, int d, int x);
int main(){
int vector[] = {1,2,3,4,5,6};
int dato, izq = 0, der = 0, resultado;
printf("Ingrese numero a buscar: ");
scanf("%d",&dato);
fflush(stdin);
resultado = buscar(vector, izq, der, dato);
printf("%d ",resultado); //no sé
system("pause");
}
int buscar(int v[], int i, int d, int x){
int centro;
if(i>=d){
centro = (i+d)/2;
if(v[centro]==x){
return centro; // Caso base 1, exito
}
else{
if(v[centro]>x){
return buscar(v, i, centro-1, x); //izquierda
}
else{
return buscar(v, centro+1, d, x); // derecha
}
}
}
else{ // i>d
return (-1); // Caso base 2, fracaso
}
}
Recursión: Busqueda binaria en vector ordenado
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario