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; } } }
List <Dato> Weita = new List <Dato>(); //Lista que guarda objetos de la clase Dato public Ejercicio6() //Constructor de la clase Arbol { Raiz = null; }
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 { } }