27/04/2009, 20:42
|
| | Fecha de Ingreso: enero-2008
Mensajes: 125
Antigüedad: 17 años Puntos: 0 | |
Respuesta: Programa corto de búsqueda en arbol binario Ahí corregí unas cosas, me da bien en todas las posiciones menos para el 4 que esta en el 11 y el 7 que esta en la posición 12 del vector, el código me quedó así:
Código:
// Arbol.cpp: define el punto de entrada de la aplicación de consola.
//
#include "stdafx.h"
#define NULL -24
int h;
int buscar(int vecNod[ ],int i, int num)
{
if(num==vecNod[i])
return i;
else
{
if(num>vecNod[i])
{if((h=buscar(vecNod,(2*i+2),num))>=0)
return h;}
else
{if((h=buscar(vecNod,(2*i+1),num))>=0)
return h;}
}
if(vecNod[i]==NULL)
return 0;
}
int main ( ) {
int i=0,vecNod[13],numero,resultado;
for(i=0;i<13;i++)
vecNod[i]=NULL;
vecNod[0]=3;
vecNod[1]=2;
vecNod[2]=8;
vecNod[3]=1;
vecNod[5]=5;
vecNod[11]=4;
vecNod[12]=7;
printf("Ingrese el número que desea buscar \n");
scanf("%d",&numero);
resultado=buscar(vecNod,0,numero);
printf("Esta en la posición %d del vector",resultado);
scanf("%d",i);//agregado para poder ver el resultado y que no se cierre
}
Última edición por juanf03; 27/04/2009 a las 20:56 |