コード例 #1
0
        public void Caminos(NodoTexto comp, string cam) //Metodo para imprimir los resultados y caminos de cada hoja
        {
            if (comp != null)
            {
                if (comp.i == null && comp.d == null)
                {
                    cam = cam + " es el camino de: " + comp.dato;
                    caminos.Add(cam);
                }

                Caminos(comp.i, cam + "0");
                Caminos(comp.d, cam + "1");
            }
        }
コード例 #2
0
        public void Insertar(string dato) //Metodo para insertar nodos tipo string
        {
            NodoTexto nuevo;

            nuevo      = new NodoTexto();
            nuevo.dato = dato;
            nuevo.i    = null;
            nuevo.d    = null;

            if (raiz == null)
            {
                raiz = nuevo;
            }

            else
            {
                NodoTexto val = null, comp;
                comp = raiz;

                while (comp != null) //Se comparara si la primera letra es mayor o menor dependiendo de su numero correspondiente en ascci
                {
                    val = comp;
                    if (Convert.ToInt32(dato[0]) < Convert.ToInt32(comp.dato[0]))
                    {
                        comp = comp.i;
                    }

                    else
                    {
                        comp = comp.d;
                    }
                }

                if (Convert.ToInt32(dato[0]) < Convert.ToInt32(val.dato[0]))
                {
                    val.i = nuevo;
                }

                else
                {
                    val.d = nuevo;
                }
            }
        }
コード例 #3
0
 public ArbolTexto()
 {
     raiz = null;
 }