コード例 #1
0
        static void Main(string[] args)
        {
            int    opcion;
            string dat;
            string key;
            Arbol  arbol = new Arbol();

            Menu();

            void Menu()
            {
                Console.WriteLine("MENU ARBOLES BINARIOS" + '\n');
                Console.WriteLine("1. Insertar nodos");
                Console.WriteLine("2. Eliminar nodos");
                Console.WriteLine("3. Recorrido Preorden");
                Console.WriteLine("4. Recorrido Inorden");
                Console.WriteLine("5. Recorrido Posorden");
                Console.WriteLine("6. Busqueda Recursiva");
                Console.WriteLine("7. Busqueda Iterativa");
                Console.WriteLine("8. Salir");
                Console.Write('\n' + "Seleccione una opción: ");
                opcion = int.Parse(Console.ReadLine());
                switch (opcion)
                {
                case 1:
                    opcion = 1;
                    {
                        Console.Clear();
                        Console.WriteLine("CREAR NODO" + '\n');
                        Console.Write("Ingrese un nombre a agregar: ");
                        dat = Console.ReadLine();
                        arbol.Insertar(dat);
                        Console.ReadKey();
                        Console.Clear();
                        Menu();
                        break;
                    }

                case 2:
                    opcion = 2;
                    {
                        Console.Clear();
                        Console.WriteLine("ELIMINAR NODO" + '\n');
                        arbol.Eliminar();
                        Console.ReadKey();
                        Console.Clear();
                        Menu();
                        break;
                    }

                case 3:
                    opcion = 3;
                    {
                        Console.Clear();
                        Console.WriteLine("RECORRIDO EN PREORDEN" + '\n');
                        arbol.Preorden(arbol.raiz);
                        Console.ReadKey();
                        Console.Clear();
                        Menu();
                        break;
                    }

                case 4:
                    opcion = 4;
                    {
                        Console.Clear();
                        Console.WriteLine("RECORRIDO EN INORDEN" + '\n');
                        arbol.Inorden(arbol.raiz);
                        Console.ReadKey();
                        Console.Clear();
                        Menu();
                        break;
                    }

                case 5:
                    opcion = 5;
                    {
                        Console.Clear();
                        Console.WriteLine("RECORRIDO EN POSORDEN" + '\n');
                        arbol.Posorden(arbol.raiz);
                        Console.ReadKey();
                        Console.Clear();
                        Menu();
                        break;
                    }

                case 6:
                    opcion = 6;
                    {
                        Console.Clear();
                        Console.WriteLine("BÚSQUEDA RECURSIVA" + '\n');
                        Console.Write("Ingrese el elemento a buscar: ");
                        key = Console.ReadLine();
                        arbol.BusquedaRecursiva(key, arbol.raiz);
                        Console.ReadKey();
                        Console.Clear();
                        Menu();
                        break;
                    }

                case 7:
                    opcion = 7;
                    {
                        Console.Clear();
                        Console.WriteLine("BÚSQUEDA ITERATIVA" + '\n');
                        Console.Write("Ingrese el elemento a buscar: ");
                        key = Console.ReadLine();
                        arbol.BusquedaIterativa(key, arbol.raiz);
                        Console.ReadKey();
                        Console.Clear();
                        Menu();
                        break;
                    }

                case 8:
                    opcion = 8;
                    {
                        Console.Clear();
                        Console.WriteLine("Pulse cualquier tecla para salir");
                        Console.ReadKey();
                        break;
                    }

                default:
                {
                    Console.WriteLine("Opción no válida");
                    break;
                }
                }
            }
        }