Пример #1
0
        public ListaThomson UnionI()
        {
            ListaThomson Pila = new ListaThomson();

            NodoThomson Iniciovacio = new NodoThomson("epsilon", "or");
            NodoThomson Finalvacio  = new NodoThomson("epsilon", "fin_or");

            NodoThomson vacio3 = new NodoThomson("epsilon");
            NodoThomson vacio2 = new NodoThomson("epsilon");
            NodoThomson vacio  = new NodoThomson("epsilon");

            if (aux1.GetTipo() == "unica")
            {
                Iniciovacio.sig1 = aux1.GetInicio();
                Iniciovacio.sig2 = vacio3;

                aux1.GetFinal().sig1 = vacio;
                vacio3.sig1 = vacio2;
                vacio.sig1  = Finalvacio;
                vacio2.sig1 = Finalvacio;
            }
            else if (aux1.GetTipo() == "doble")
            {
                Iniciovacio.sig1 = aux1.GetInicio();
                Iniciovacio.sig2 = vacio3;

                aux1.GetFinal().sig1 = Finalvacio;
                vacio3.sig1 = vacio2;
                vacio2.sig1 = Finalvacio;
            }

            Pila.setInicio(Iniciovacio);
            Pila.setTFinal(Finalvacio);
            return(Pila);
        }
        public ListaThomson Unir()
        {
            NodoThomson vacio       = new NodoThomson("epsilon");
            NodoThomson Iniciovacio = new NodoThomson("epsilon");

            ListaThomson Pila       = new ListaThomson();
            NodoThomson  Finalvacio = new NodoThomson("epsilon");

            if (hijounico.GetTipo() == "unica")
            {
                Iniciovacio.sig1 = hijounico.GetInicio();
                hijounico.GetFinal().sig1 = vacio;
                vacio.sig2       = hijounico.GetInicio();
                vacio.sig1       = Finalvacio;
                Iniciovacio.sig2 = Finalvacio;
                Pila.setTipo("doble");
                Pila.setInicio(Iniciovacio);
                Pila.setTFinal(Finalvacio);
            }
            else if (hijounico.GetTipo() == "doble")
            {
                Iniciovacio.sig1 = hijounico.GetInicio();
                hijounico.GetFinal().sig2 = hijounico.GetInicio();
                hijounico.GetFinal().sig1 = vacio;

                Iniciovacio.sig2 = vacio;
                Pila.setInicio(Iniciovacio);
                Pila.setTFinal(vacio);
            }
            else if (hijounico.GetInicio().GetTranscision() == "or")
            {
                Iniciovacio.sig1 = hijounico.GetInicio();

                Iniciovacio.sig2 = Finalvacio;
                hijounico.GetInicio().sig2 = Finalvacio;
                hijounico.GetFinal().sig1  = Finalvacio;

                hijounico.GetFinal().sig2 = hijounico.GetInicio();

                Pila.setInicio(Iniciovacio);
                Pila.setTFinal(Finalvacio);
            }
            return(Pila);
        }
Пример #3
0
        public ListaThomson Union()
        {
            ListaThomson Pila        = new ListaThomson();
            NodoThomson  vacio       = new NodoThomson("epsilon");
            NodoThomson  Iniciovacio = new NodoThomson("epsilon");
            NodoThomson  Finalvacio  = new NodoThomson("epsilon");

            if (aux1.GetTipo() == "unica")
            {
                Iniciovacio.sig1 = aux1.GetInicio();
                aux1.GetFinal().sig1 = vacio;
                vacio.sig2 = aux1.GetInicio();
                vacio.sig1 = Finalvacio;

                Pila.setTipo("doble");
                Pila.setInicio(Iniciovacio);
                Pila.setTFinal(Finalvacio);
            }
            else if (aux1.GetTipo() == "doble")
            {
                Iniciovacio.sig1 = aux1.GetInicio();
                aux1.GetFinal().sig1 = Finalvacio;

                aux1.GetFinal().sig2 = aux1.GetInicio();

                Pila.setInicio(Iniciovacio);
                Pila.setTFinal(Finalvacio);
            }
            else if (aux1.GetInicio().GetTranscision() == "or")
            {
                aux1.GetFinal().sig1 = Finalvacio;

                aux1.GetFinal().sig2 = aux1.GetInicio();

                Pila.setInicio(aux1.GetInicio());
                Pila.setTFinal(Finalvacio);
            }



            return(Pila);
        }
        public ListaThomson junta()
        {// .a-.    . = nodo     letras = transiciones  si me entendes eso ?
            ListaThomson Pila = new ListaThomson();

            NodoThomson nulo = new NodoThomson("epsilon");

            hijo1.GetFinal().sig1 = hijo2.GetInicio();
            hijo2.GetFinal().sig1 = nulo;
            NodoThomson aux       = hijo1.GetInicio();

            /*    // apuntaste una lista string cada vez que recorro la lista
             *  //------a
             *  //------a
             *  // a ---------b
             */
            Pila.setInicio(hijo1.GetInicio());
            Pila.setTFinal(nulo);
            Pila.setTipo("doble");
            MessageBox.Show(Pila.GetInicio().GetTranscision());

            return(Pila);
        }
Пример #5
0
        public ListaThomson Union()
        {
            ListaThomson Pila = new ListaThomson();

            NodoThomson Iniciovacio = new NodoThomson("epsilon", "or");
            NodoThomson Finalvacio  = new NodoThomson("epsilon", "fin_or");

            NodoThomson vacio2 = new NodoThomson("epsilon");
            NodoThomson vacio  = new NodoThomson("epsilon");

            if (aux1.GetTipo() == "unica" && aux2.GetTipo() == "unica")
            {
                MessageBox.Show("si" + aux1.GetTipo() + aux2.GetTipo());

                Iniciovacio.sig1 = aux1.GetInicio();


                Iniciovacio.sig2 = aux2.GetInicio();
                aux1.GetFinal().sig1 = vacio;
                aux2.GetFinal().sig1 = vacio2;
                vacio.sig1  = Finalvacio;
                vacio2.sig1 = Finalvacio;
                Pila.setTipo("doble");
            }
            else if (aux1.GetTipo() == "doble" && aux2.GetTipo() == "doble")
            {
                MessageBox.Show("si es doble");
                Iniciovacio.sig1 = aux1.GetInicio();
                Iniciovacio.sig2 = aux2.GetInicio();
                aux1.GetFinal().sig1 = Finalvacio;
                aux2.GetFinal().sig1 = Finalvacio;
                Pila.setTipo("doble");
            }

            else if (aux1.GetTipo() == "doble" && aux2.GetTipo() == "unica")
            {
                MessageBox.Show("unica  y doble");
                Iniciovacio.sig1 = aux1.GetInicio();
                Iniciovacio.sig2 = aux2.GetInicio();
                aux1.GetFinal().sig1 = Finalvacio;
                aux2.GetFinal().sig1 = vacio2;
                vacio.sig1 = Finalvacio;
                Pila.setTipo("doble");
            }
            else if (aux1.GetTipo() == "unica" && aux2.GetTipo() == "doble")
            {
                MessageBox.Show("unica  y doble");
                Iniciovacio.sig1 = aux1.GetInicio();
                Iniciovacio.sig2 = aux2.GetInicio();
                aux1.GetFinal().sig1 = Finalvacio;
                aux2.GetFinal().sig1 = vacio2;
                vacio2.sig1 = Finalvacio;
                Pila.setTipo("doble");
            }
            else if (aux1.GetInicio().GetTranscision() == "or")
            {
                aux1.GetInicio().sig2 = Finalvacio;
                aux1.GetFinal().sig1  = Finalvacio;

                aux1.GetFinal().sig2 = aux1.GetInicio();

                Pila.setInicio(aux1.GetInicio());
                Pila.setTFinal(Finalvacio);
                Pila.setTipo("doble");
            }

            Pila.setInicio(Iniciovacio);

            Pila.setTFinal(Finalvacio);


            return(Pila);
        }