Ejemplo n.º 1
0
 static void PostOrden(Arbol temp)
 {
     // Se comprueba que el arbol esté inicializado para recorrer
     if (temp != null)
     {
         // Se recorre el subarbol izquierdo y el derecho
         if (temp.ramaIzq != null)
         {
             PostOrden(temp.ramaIzq);
         }
         if (temp.ramaDer != null)
         {
             PostOrden(temp.ramaDer);
         }
         // Impresión de la raiz del arbol o subarbol a imprimir
         Console.Write($"{ temp.dato } | ");
     }
     else
     {
         Console.Write("El Arbol Binario está vacio...");
     }
 }
Ejemplo n.º 2
0
        static void InsertarArbol()
        {
            try {
                bool capturando = true;
                while (capturando)
                {
                    Console.Clear();
                    Console.Write("Ingresa el nombre del familiar: ");
                    x = Console.ReadLine();

                    Insertar();

                    re = raiz;

                    Console.Write("\n\n[1] Si\n[! Otro] No\n¿Desea Insertar otro nombre?: ");
                    capturando = Console.ReadLine().Contains("1");
                }
            }
            catch (Exception) {
                Console.WriteLine("Solo se Pueden Ingresar nombres de personas, intente de nuevo...");
            }
        }
Ejemplo n.º 3
0
        static void Main(string [] args)
        {
            // Mojica Vidal Jonathan Jafet
            // 19211688
            raiz = null;

            // Declaración del menu
            bool operando = true;

            while (operando)
            {
                // Se prepara la consola
                Console.Clear();
                Console.Title = "Menu de recorridos con arboles";
                // Despliegue de opciones
                Console.Write("[1] Insertar nombres\n[2] Recorrer en PreOrden\n[3] Recorrer en InOrden\n[4] Recorren en PostOrden\n[! Otro] Salir\nSelecciona una opción: ");

                switch (Console.ReadLine())
                {
                case "1":
                    // Se nombra la consola
                    Console.Title = "Insertando nombres en el Arbol";
                    InsertarArbol();
                    break;

                case "2":
                    // Se prepara la consola
                    Console.Title = "Mostrando el arbol en PreOrden";
                    Console.Clear();

                    // Despliegue por PreOrden
                    re = raiz;
                    PreOrden(re);

                    // Notificación de despliegue terminado
                    Console.Write("\nRecorrido Completado...");
                    Console.ReadKey();
                    break;

                case "3":
                    // Se prepara la consola
                    Console.Title = "Mostrando el arbol en InOrden";
                    Console.Clear();

                    // Despliegue por InOrden
                    re = raiz;
                    InOrden(re);

                    // Notificación de despliegue terminado
                    Console.Write("\nRecorrido Completado...");
                    Console.ReadKey();
                    break;

                case "4":
                    // Se prepara la consola
                    Console.Title = "Mostrando el arbol en PostOrden";
                    Console.Clear();

                    // Despliegue por PostOrden
                    re = raiz;
                    PostOrden(re);

                    // Notificación de despliegue terminado
                    Console.Write("\nRecorrido Completado...");
                    Console.ReadKey();
                    break;

                default:
                    operando = false;
                    break;
                }
            }
        }