Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Árbol
espejo es el que se
construye a partir de uno dado, convirtiendo el subárbol izquierdo en subárbol
derecho y
viceversa*/
#include<stdlib.h>
#include<stdio.h>
#include <iostream>
struct Nodo
int dato;
Nodo* derecho;
Nodo* izquierdo;
};
Nodo* Crear(int);
Nodo *Arbol_espejo(Nodo*);
Nodo* Convertir_espejo;
int main() {
cout <<
"----------------------------------------------------------------------------------
-----------|\n";
cout << "|...LOS ELEMENTOS QUE ESTAN SEGUIDOS POR LA MISMA LINEA DE PUNTOS
VERTICAL QUIERE DECIR QUE..|\n";
cout <<
"|---------------------------------------------------------------------------------
-----------|\n";
while (opcion != 4)
switch (opcion)
case 1:cout << "\n ELEMENTOS QUE SE INSERTARAN EN EL ARBOL BINARIO \n";
Insertar(Arbol_binario, Vect[m]);
break;
cout <<
"..................................................................................
................\n";
cout << " \t ESTE ARBOL SE GENERA DE MANERA AUTOMATICA AL ELEGIR OPCION
1 (MOSTRAR ELEMENTOS), \n";
cout << "\t SI TE HAS TOPADO CON ESTE MENSAJE ES POR QUE AUN NO HAS
DECIDIDO QUE SE LLENE :( \n";
cout <<
"..................................................................................
................\n";
Mostrar(Arbol_binario, cont);
break;
case 3:
Insertar(Arbol_binario, Vect[m]);
Mostrar(Arbol_binario, cont);
Arbol_binario_espejo = Arbol_espejo(Arbol_binario);
Mostrar(Arbol_binario_espejo, cont);
nuevo_nodo->derecho = NULL;
nuevo_nodo->izquierdo = NULL;
return nuevo_nodo;
if (Arbol_binario == NULL) {
Arbol_binario = nuevo_nodo;
else {
Insertar(Arbol_binario->izquierdo, inf);
else {
Insertar(Arbol_binario->derecho, inf);
if (Arbol_binario != NULL) {
Mostrar(Arbol_binario->derecho, cont + 1);
if(Arbol_binario != NULL){}
Convertir_espejo = Arbol_binario->izquierdo;
Arbol_binario->izquierdo = Arbol_espejo(Arbol_binario->derecho);
Arbol_binario->derecho = Arbol_espejo(Convertir_espejo);
return Arbol_binario;