Exemplo n.º 1
0
        public void Insertar(int Info, string Letra) //Metodo el cual inserta los datos en el arbol
        {
            NodoLetra Nuevo;

            Nuevo       = new NodoLetra();
            Nuevo.Info  = Info;
            Nuevo.Letra = Letra;
            Nuevo.Izq   = null;
            Nuevo.Der   = null;
            if (Raiz == null) //Significa que es el primer dato y lo almacena directamente
            {
                Raiz = Nuevo;
            }
            else //Significa que ya existe almenos un dato en el arbol
            {
                NodoLetra Anterior = null, Recorrido;
                Recorrido = Raiz;
                while (Recorrido != null) //Nos permite localizar el ultimo nodo donde se va almacenar el dato ingresado
                {
                    Anterior = Recorrido;
                    if (Info < Recorrido.Info)
                    {
                        Recorrido = Recorrido.Izq;
                    }
                    else
                    {
                        Recorrido = Recorrido.Der;
                    }
                }
                //Se ingresa el dato dependiendo si es menor o mayor al ultimo dato
                if (Info < Anterior.Info)
                {
                    Anterior.Izq = Nuevo;
                }
                else
                {
                    Anterior.Der = Nuevo;
                }
            }
        }
Exemplo n.º 2
0
        List <Dato> Weita = new List <Dato>(); //Lista que guarda objetos de la clase Dato

        public Ejercicio6()                    //Constructor de la clase Arbol
        {
            Raiz = null;
        }
Exemplo n.º 3
0
        public void Insertar(int Info, string Letra) //Metodo el cual inserta los datos en el arbol
        {
            int       Contador     = 1;              //Contador
            string    Concatenador = "";             //Nos permite guardar la ruta de cada nodo
            Dato      Dato         = new Dato();     //Se crea un nuevo nodo el cual va a guardar el dato ingresado
            NodoLetra Nuevo;

            Nuevo       = new NodoLetra();
            Nuevo.Info  = Info;
            Nuevo.Letra = Letra;
            Nuevo.Izq   = null;
            Nuevo.Der   = null;
            if (Raiz == null) //Significa que es el primer dato y lo almacena directamente
            {
                Raiz         = Nuevo;
                Concatenador = Convert.ToString(Raiz.Letra);
            }
            else //Significa que ya existe almenos un dato en el arbol
            {
                NodoLetra Anterior = null, Recorrido;
                Recorrido = Raiz;
                while (Recorrido != null) //Nos permite localizar el ultimo nodo donde se va almacenar el dato ingresado
                {
                    Anterior = Recorrido;
                    if (Info < Recorrido.Info)
                    {
                        Concatenador = Concatenador + Convert.ToString(Recorrido.Letra) + "<-";; //Guarda la direccion
                        Recorrido    = Recorrido.Izq;
                    }
                    else
                    {
                        Concatenador = Concatenador + Convert.ToString(Recorrido.Letra) + "<-";//Guarda la direccion
                        Recorrido    = Recorrido.Der;
                    }
                    Contador++;
                }
                //Se ingresa el dato dependiendo si es menor o mayor al ultimo dato
                if (Info < Anterior.Info)
                {
                    Anterior.Izq = Nuevo;
                }
                else
                {
                    Anterior.Der = Nuevo;
                }
                Concatenador = Concatenador + Convert.ToString(Letra); //Se guarda la direccion
            }
            Dato.Lugar = Concatenador;                                 //Se guarda la direccion
            Dato.Letra = Letra;                                        //Se guarda la letra ingresada
            Weita.Add(Dato);                                           //Se guarda el objeto dato, en la lista weita
            if (Altura == 0)
            {
                Altura = Contador;
            }
            else if (Contador > Altura)
            {
                Altura = Contador;
            }
            else
            {
            }
        }