Fila_ortogonal busqueda_enmedio_fila(int fila) { Fila_ortogonal aux_filat = cabeza_fila; while (aux_filat.getIndice_fila() < fila) { if (fila < aux_filat.siguiente.getIndice_fila()) { break; } else { aux_filat = aux_filat.siguiente; } } return aux_filat; }
public void Crear_Filas(int indice, int dimensión, Objetos_Nodo contenido) { if (cabeza_fila == null) { cabeza_fila = new Fila_ortogonal(); cabeza_fila.setIndice_fila(indice); cabeza_fila.setDimension(dimensión); cabeza_fila.siguiente = null; cabeza_fila.anterior = null; } else if (ultimo_fila == null) { if (cabeza_fila.getIndice_fila() < indice) { ultimo_fila = new Fila_ortogonal(); ultimo_fila.setIndice_fila(indice); ultimo_fila.setDimension(dimensión); ultimo_fila.siguiente = null; ultimo_fila.anterior = cabeza_fila; cabeza_fila.siguiente = ultimo_fila; } else { ultimo_fila = cabeza_fila; cabeza_fila = new Fila_ortogonal(); cabeza_fila.setIndice_fila(indice); cabeza_fila.setDimension(dimensión); cabeza_fila.siguiente = ultimo_fila; cabeza_fila.anterior = null; ultimo_fila.anterior = cabeza_fila; } } else { if (indice < cabeza_fila.getIndice_fila()) { aux_fila = new Fila_ortogonal(); aux_fila.setDimension(dimensión); aux_fila.setIndice_fila(indice); cabeza_fila.anterior = aux_fila; aux_fila.anterior = null; aux_fila.siguiente = cabeza_fila; cabeza_fila = aux_fila; } else if (indice > ultimo_fila.getIndice_fila()) { aux_fila = new Fila_ortogonal(); aux_fila.setDimension(dimensión); aux_fila.setIndice_fila(indice); ultimo_fila.siguiente = aux_fila; aux_fila.anterior = ultimo_fila; aux_fila.siguiente = null; ultimo_fila = aux_fila; } else { Fila_ortogonal aux2f; aux_fila = busqueda_enmedio_fila(indice); aux2f = new Fila_ortogonal(); aux2f.setDimension(dimensión); aux2f.setIndice_fila(indice); aux2f.anterior = aux_fila; aux2f.siguiente = aux_fila.siguiente; aux_fila.siguiente = aux2f; } } }