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()); }
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(); } }
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); }
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); }