//Imprime en Inorden void Arbin::InOrden(void (*func)(int&) , Nodo *nodo, bool r) { if(r) nodo = raiz; if(nodo->hijoIzq) InOrden(func, nodo->hijoIzq, false); func(nodo->_numeroCuenta); if(nodo->hijoDer) InOrden(func, nodo->hijoDer, false); }
//Recorre el árbol binario en InOrden void InOrden(tABB *arbol,FILE *arch1){ tABB aux3; aux3=*arbol; if(arbol!=NULL){ //verifica que el árbol no esté vacío InOrden(&aux3->hijoIzquierdo,arch1); //recorre en InOrden por la izquierda del árbol fprintf(arch1,"%c", aux3->letra); fprintf(arch1,"%d", aux3->frecuencia); InOrden(&aux3->hijoDerecho,arch1); //recorre en InOrden por la derecha del árbol } }
int main (){ tABB *arbol; FILE *arch1; arch1=fopen("Arbol.txt","w"); fprintf(arch1,"Recorrido InOrden\n"); InOrden(arbol,arch1); fprintf(arch1,"\n"); fprintf(arch1,"Recorrido PreOrden\n"); PreOrden(arbol,arch1); fclose(arch1); return 0; }