¿Qué método seria más Preciso en C# (un switch), como podría hacer lo siguiente tengo dudas en el código?

Hola amigos alguien desea ayudar a su servidor tengo dudas de como realizar la sintaxis para que mi código realice lo que se pide que método seria el más recomendable para que el código permita (Solicitar al usuario la captura de valores numéricos de manera repetitiva hasta que el usuario ya no desee continuar con esta operación, así mismo devolver dichos valores capturados en recorrido preorden, entreorden y postorden)., a continuación describo el avance:

¿Qué modificaría y cual seria la solución más factible o viable?

Código:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ArbolBinarioOrdenado1
{
    public class ArbolBinarioOrdenado
    {
        class Nodo
        {
            public int info;
            public Nodo izq, der;
        }
        Nodo raiz;
        public ArbolBinarioOrdenado()
        {
            raiz = null;
        }
        public void Insertar(int info)
        {
            Nodo nuevo;
            nuevo = new Nodo();
            nuevo.info = info;
            nuevo.izq = null;
            nuevo.der = null;
            if (raiz == null)
                raiz = nuevo;
            else
            {
                Nodo anterior = null, reco;
                reco = raiz;
                while (reco != null)
                {
                    anterior = reco;
                    if (info < reco.info)
                        reco = reco.izq;
                    else
                        reco = reco.der;
                }
                if (info < anterior.info)
                    anterior.izq = nuevo;
                else
                    anterior.der = nuevo;
            }
        }

1 Respuesta

Respuesta
1

Disculpen se que rompo las reglas pero por falta de extensión en la pregunta tuve que hacerlo para insertar la otra parte del código, así que aquí la continuación del mismo.

Continuación del Código:

        private void ImprimirPre(Nodo reco)        {            if (reco != null)            {                Console.Write(reco.info + " ");                ImprimirPre(reco.izq);                ImprimirPre(reco.der);            }        }        public void ImprimirPre()        {            ImprimirPre(raiz);            Console.WriteLine();        }        private void ImprimirEntre(Nodo reco)        {            if (reco != null)            {                ImprimirEntre(reco.izq);                Console.Write(reco.info + " ");                ImprimirEntre(reco.der);            }        }        public void ImprimirEntre()        {            ImprimirEntre(raiz);            Console.WriteLine();        }        private void ImprimirPost(Nodo reco)        {            if (reco != null)            {                ImprimirPost(reco.izq);                ImprimirPost(reco.der);                Console.Write(reco.info + " ");            }        }        public void ImprimirPost()        {            ImprimirPost(raiz);            Console.WriteLine();        }        static void Main(string[] args)        {            ArbolBinarioOrdenado abo = new ArbolBinarioOrdenado();            abo.Insertar(100);            abo.Insertar(50);            abo.Insertar(25);            abo.Insertar(75);            abo.Insertar(150);            Console.WriteLine("Impresion preorden: ");            abo.ImprimirPre();            Console.WriteLine("Impresion entreorden: ");            abo.ImprimirEntre();            Console.WriteLine("Impresion postorden: ");            abo.ImprimirPost();            Console.ReadKey();        }    }}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas