예제 #1
0
        private string postOrder(Dato raiz)
        {
            string str = "";

            if (raiz != null)
            {
                str += postOrder(raiz.Izq) + postOrder(raiz.Der) + raiz.Cosa;
            }
            return(str);
        }
예제 #2
0
        public void agregar(string s)
        {
            Dato cosa;

            for (int i = 0; i < s.Length; i++)
            {
                cosa = new Dato(s[i]);
                agregar(cosa);
            }
        }
예제 #3
0
        private string preOrder(Dato raiz)
        {
            string str = "";

            if (raiz != null)
            {
                str += raiz.Cosa + preOrder(raiz.Izq) + preOrder(raiz.Der);
            }
            return(str);
        }
예제 #4
0
 private void agregar(Dato d)
 {
     if (raiz == null)
     {
         raiz = d;
     }
     else
     {
         agregar(raiz, d);
     }
 }
예제 #5
0
 public Boolean crearArbol()
 {
     if (raiz != null)
     {
         arbol(raiz, '*', '/');
         // raiz = raiz.Sig;
         arbol(raiz, '+', '-');
         //raiz = raiz.Sig;
         Dato temp = raiz;
     }
     return(false);
 }
예제 #6
0
 private void agregar(Dato lugar, Dato d)
 {
     if (lugar.Sig == null)
     {
         d.Ant     = lugar;
         lugar.Sig = d;
     }
     else
     {
         agregar(lugar.Sig, d);
     }
 }
예제 #7
0
        private Boolean arbol(Dato lugar, char a, char b)
        {
            bool control = false;

            if (lugar != null && lugar.Sig != null)
            {
                if (lugar.Sig.Cosa == a || lugar.Sig.Cosa == b)
                {
                    control       = true;
                    lugar.Sig.Izq = lugar.Sig.Ant;
                    lugar.Sig.Der = lugar.Sig.Sig;
                    if (lugar.Sig.Sig.Sig != null)
                    {
                        lugar.Sig.Sig     = lugar.Sig.Sig.Sig;
                        lugar.Sig.Sig.Ant = lugar.Sig;
                    }
                    else
                    {
                        lugar.Sig.Sig = null;
                    }

                    if (lugar.Ant != null)
                    {
                        lugar.Sig.Ant     = lugar.Ant;
                        lugar.Sig.Ant.Sig = lugar.Sig;
                    }
                    else
                    {
                        lugar.Sig.Ant = null;
                        raiz          = raiz.Sig;
                    }
                }
                arbol(lugar.Sig, a, b);
            }
            return(control);
        }