ya logre que arrojara InOrden, PostOrden y PreOrden, Pero Lo que
ahora necesito es Que Me Arroje el resultado del numero de hojas
totales que posee este arbol... Ayuda !!!!
Código C++:
Ver original
#include <stdio.h> #include <stdlib.h> struct nodo { struct nodo *izquierdaPtr; int dato; struct nodo *derechaPtr; }; typedef struct nodo NODO; typedef NODO *ARBOLNODOPTR; void insertaNodo(ARBOLNODOPTR *arbolPtr, int valor) { if (*arbolPtr == NULL) { if (*arbolPtr != NULL) { (*arbolPtr)->dato = valor; (*arbolPtr)->izquierdaPtr = NULL; (*arbolPtr)->derechaPtr = NULL; } else { } } else if (valor < (*arbolPtr)->dato) { insertaNodo(&((*arbolPtr)->izquierdaPtr), valor); } else if (valor > (*arbolPtr)->dato) insertaNodo(&((*arbolPtr)->derechaPtr), valor); else } void inOrder(ARBOLNODOPTR arbolPtr) { if (arbolPtr != NULL) { inOrder(arbolPtr->izquierdaPtr); inOrder(arbolPtr->derechaPtr); } } void preOrder(ARBOLNODOPTR arbolPtr) { if (arbolPtr != NULL) { preOrder(arbolPtr->izquierdaPtr); preOrder(arbolPtr->derechaPtr); } } void postOrder(ARBOLNODOPTR arbolPtr) { if (arbolPtr != NULL) { postOrder(arbolPtr->izquierdaPtr); postOrder(arbolPtr->derechaPtr); } } main() { int i, item; ARBOLNODOPTR raizPtr = NULL; for (i=1; i <= 10; i++) { insertaNodo(&raizPtr, item); } preOrder(raizPtr); inOrder(raizPtr); postOrder(raizPtr); }