Documentos de Académico
Documentos de Profesional
Documentos de Cultura
#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input
loop */
struct Nodo{
};
int main() {
int dato, nivel=0; //el nivel empieza en cero para trabajar desde la raiz
char desea;
while(desea == 's' || desea == 'S'){ // Si desea ingresar un dato pasara a ser insertado al
arbol
cin>>dato;
insertarNodo(arbol,dato);
imprimirArbol(arbol, nivel);
cin >>desea;
recorridoPreOrden(arbol);
recorridoInOrden(arbol);
recorridoPostOrden(arbol);
}
//Crear arbol
if(arbol == NULL){ //como el arbol esta vacio añade el nodo insertado como raiz (primer
nodo)
arbol=nodoNuevo; //al ser el unico nodo el arbol sera solo la raiz y sus dos hijos
nulos
else{ //Significa que el arbol no esta vacio por lo que el nodo a ingresar se debe comparar
con el dato que esta en la raiz
insertarNodo(arbol->hijoDer,n);
}else if(n<datoRaiz){
}else{
if(arbol != NULL){ //Si se desea imprimir un arbol, este no debe ser vacio
imprimirArbol(arbol->hijoDer, nivel+1); //empieza a imprimir el el lado derecho del
arbol, los que son mayores a la raiz o nodo interno
for(int i=0;i<nivel;i++){ //va subiendo el nivel para imprimir los descendientes del
nodo anterio
//Recorridos
if(arbol != NULL){ //Si se desea recorrer el arbol, este no debe estar vacio
if(arbol != NULL){ //Si se desea recorrer el arbol, este no debe estar vacio
cout<<arbol->dato<<", ";
recorridoInOrden(arbol->hijoDer);
recorridoPostOrden(arbol->hijoIzq);
recorridoPostOrden(arbol->hijoDer);
cout<<arbol->dato<<", ";