/** * * @param nodo */ public void insertar(NodoRamaArbol nodo) { tamanio++; if (estaEnBlanco()) { primero = nodo; primero.setAnterior(null); primero.setSiguiente(null); cuenta++; } else { NodoRamaArbol temp = primero; do { if (nodo.getCodigoDestino() == temp.getCodigoDestino()) { break; } else if (nodo.getCodigoDestino() < temp.getCodigoDestino()) { cuenta++; if (temp == primero) { primero.setAnterior(nodo); primero.setIzquierda(nodo.getDerecha()); nodo.setSiguiente(primero); primero = nodo; break; } else { nodo.setAnterior(temp.getAnterior()); nodo.setSiguiente(temp); temp.getAnterior().setSiguiente(nodo); temp.getAnterior().setDerecha(nodo.getIzquierda()); temp.setAnterior(nodo); temp.setIzquierda(nodo.getDerecha()); break; } } else if (temp.getSiguiente() == null) { cuenta++; temp.setSiguiente(nodo); temp.setDerecha(nodo.getIzquierda()); nodo.setAnterior(temp); nodo.setSiguiente(null); break; } temp = temp.getSiguiente(); } while (temp != null); } }
/** * * @param nodo */ public void insertar(NodoRamaArbol nodo) { if (estaEnBlanco()) { primero = nodo; primero.setAnterior(null); primero.setSiguiente(null); cuenta++; } else { NodoRamaArbol temp = primero; do { if (nodo.getIdTransaccion().CompareTo(temp.getIdTransaccion()) == 0) { break; } else if (nodo.getIdTransaccion().CompareTo(temp.getIdTransaccion()) < 0) { cuenta++; if (temp == primero) { primero.setAnterior(nodo); primero.setIzquierda(nodo.getDerecha()); nodo.setSiguiente(primero); primero = nodo; break; } else { nodo.setAnterior(temp.getAnterior()); nodo.setSiguiente(temp); temp.getAnterior().setSiguiente(nodo); temp.getAnterior().setDerecha(nodo.getIzquierda()); temp.setAnterior(nodo); temp.setIzquierda(nodo.getDerecha()); break; } } else if (temp.getSiguiente() == null) { cuenta++; temp.setSiguiente(nodo); temp.setDerecha(nodo.getIzquierda()); nodo.setAnterior(temp); nodo.setSiguiente(null); break; } temp = temp.getSiguiente(); } while (temp != null); } }