Example #1
0
        public void Graficar4Nuevo(RamaArbol raiz)
        {
            if (raiz == null)
            {
                return;
            }
            //  nodos += raiz.getGraphNodo();
            NodoRamaArbol aux = raiz.getPrimero();

            while (aux != null)
            {
                Graficar4Nuevo(aux.getIzquierda());
                Console.WriteLine(aux.getCodigoDestino());

                listacabeceras.Insertar(aux.getCodigoDestino(), aux.getNombreDestino());
                aux = aux.getSiguiente();
            }
            aux = raiz.getPrimero();
            while (aux.getSiguiente() != null)
            {
                aux = aux.getSiguiente();
            }
            Graficar4Nuevo(aux.getDerecha());
        }
Example #2
0
        private void busca(int codDes, RamaArbol rama, RamaArbol salida)
        {
            if (rama == null)
            {
                return;
            }
            NodoRamaArbol nodo = rama.getPrimero();

            while (nodo != null)
            {
                if (!rama.esHoja())
                {
                    busca(codDes, nodo.getIzquierda(), salida);
                    busca(codDes, nodo.getDerecha(), salida);
                }
                if (nodo.getCodigoDestino() == codDes)
                {
                    salida.insertar(new NodoRamaArbol(nodo.getCodigoDestino(), nodo.getNombreDestino()));
                }
                nodo = nodo.getSiguiente();
            }
        }
Example #3
0
        private NodoRamaArbol busca(int codDes, RamaArbol rama)
        {
            NodoRamaArbol nodo = rama.getPrimero();

            while (nodo != null)
            {
                if (codDes < nodo.getCodigoDestino())
                {
                    if (rama.esHoja())
                    {
                        return(null);
                    }
                    else
                    {
                        return(busca(codDes, nodo.getIzquierda()));
                    }
                }
                else if (codDes == nodo.getCodigoDestino())
                {
                    return(nodo);
                }
                else if (nodo.getSiguiente() == null)
                {
                    if (rama.esHoja())
                    {
                        return(null);
                    }
                    else
                    {
                        return(busca(codDes, nodo.getDerecha()));
                    }
                }
                nodo = nodo.getSiguiente();
            }
            return(null);
        }
Example #4
0
        private NodoRamaArbol dividir(RamaArbol rama)
        {
            RamaArbol     derecha = new RamaArbol(), izquierda = new RamaArbol();
            NodoRamaArbol medio = null, temp = rama.getPrimero();

            for (int i = 1; i < 6; i++, temp = temp.getSiguiente())
            {
                NodoRamaArbol nodo = new NodoRamaArbol(temp.getCodigoDestino(), temp.getNombreDestino());
                nodo.setIzquierda(temp.getIzquierda());
                nodo.setDerecha(temp.getDerecha());
                if (nodo.getDerecha() != null && nodo.getIzquierda() != null)
                {
                    izquierda.setHoja(false);
                    derecha.setHoja(false);
                }
                switch (i)
                {
                case 1:
                case 2:
                    izquierda.insertar(nodo);
                    break;

                case 3:
                    medio = nodo;
                    break;

                case 4:
                case 5:
                    derecha.insertar(nodo);
                    break;
                }
            }
            medio.setIzquierda(izquierda);
            medio.setDerecha(derecha);
            return(medio);
        }