Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/04/2009, 20:42
juanf03
 
Fecha de Ingreso: enero-2008
Mensajes: 125
Antigüedad: 16 años, 4 meses
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