public void IngresarDatos(int filaCoordenada, int columnaCoordenada, float Costo, float Tiempo) { //agregado matrizcosto = false; matriztiempo = false; //agregado NodoRamaArbol Fila = busqueda(filaCoordenada); NodoRamaArbol Columna = busqueda(columnaCoordenada); //Ya tenemos los nodos fila y columna del que vamos a insertar NodoMatriz Dato = new NodoMatriz(filaCoordenada, columnaCoordenada, Costo, Tiempo); if (Fila.getFilaPrimero() == null) { Fila.setFilaPrimero(Dato); Dato.setIzquierdaCabecera(Fila); Dato.setAnteriorMatriz(null); Dato.setSiguienteMatriz(null); } else { NodoMatriz auxiliar = Fila.getFilaPrimero(); while (auxiliar != null) { if (auxiliar.getCodigosegundoPais() > columnaCoordenada)//Principio { auxiliar.setAnteriorMatriz(Dato); Dato.setSiguienteMatriz(auxiliar); Fila.setFilaPrimero(Dato); Dato.setIzquierdaCabecera(Fila); Dato.setAnteriorMatriz(null); auxiliar.setIzquierdaCabecera(null); break; } else { if (auxiliar.getSiguienteMatriz() != null) { if (auxiliar.getSiguienteMatriz().getCodigosegundoPais() > columnaCoordenada)//En Medio { Dato.setSiguienteMatriz(auxiliar.getSiguienteMatriz()); auxiliar.getSiguienteMatriz().setAnteriorMatriz(Dato); Dato.setAnteriorMatriz(auxiliar); auxiliar.setSiguienteMatriz(Dato); Dato.setIzquierdaCabecera(null); break; } } else { Dato.setAnteriorMatriz(auxiliar); auxiliar.setSiguienteMatriz(Dato); Dato.setSiguienteMatriz(null); Dato.setIzquierdaCabecera(null); break; } } auxiliar = auxiliar.getSiguienteMatriz(); } } if (Columna.getColumnaPrimero() == null) { Columna.setColumnaPrimero(Dato); Dato.setArribaCabecera(Columna); Dato.setAribaMatriz(null); Dato.setAbajoMatriz(null); } else { NodoMatriz aux = Columna.getColumnaPrimero();; while (aux != null) { if (aux.getCodigoPrimerPais() > filaCoordenada)//Principio { aux.setAribaMatriz(Dato); Dato.setAbajoMatriz(aux); Columna.setColumnaPrimero(Dato); Dato.setArribaCabecera(Columna); Dato.setAribaMatriz(null); aux.setArribaCabecera(null); break; } else { if (aux.getAbajoMatriz() != null)//en medio { if (aux.getAbajoMatriz().getCodigoPrimerPais() > filaCoordenada) { Dato.setAbajoMatriz(aux.getAbajoMatriz()); aux.getAbajoMatriz().setAribaMatriz(Dato); Dato.setAribaMatriz(aux); aux.setAbajoMatriz(Dato); Dato.setArribaCabecera(null); break; } } else//Ultimo { Dato.setAribaMatriz(aux); aux.setAbajoMatriz(Dato); Dato.setAbajoMatriz(null); Dato.setArribaCabecera(null); break; } } aux = aux.getAbajoMatriz(); } } }