Columnas_Ortogonal busqueda_enmedio_col(int col) { Columnas_Ortogonal aux_colt = cabeza_col; while (aux_colt.getIndice_columna() < col) { if (col < aux_colt.siguiente.getIndice_columna()) { break; } else { aux_colt = aux_colt.siguiente; } } return aux_colt; }
public void Crear_Columna(int indice, int dimensión) { if (cabeza_col == null) { cabeza_col = new Columnas_Ortogonal(); cabeza_col.setIndice_columna(indice); cabeza_col.setDimension(dimensión); cabeza_col.siguiente = null; cabeza_col.anterior = null; } else if (ultimo_col == null) { if (cabeza_col.getIndice_columna() < indice) { ultimo_col = new Columnas_Ortogonal(); ultimo_col.setIndice_columna(indice); ultimo_col.setDimension(dimensión); ultimo_col.siguiente = null; ultimo_col.anterior = cabeza_col; cabeza_col.siguiente = ultimo_col; } else { ultimo_col = cabeza_col; cabeza_col = new Columnas_Ortogonal(); cabeza_col.setIndice_columna(indice); cabeza_col.setDimension(dimensión); cabeza_col.siguiente = ultimo_col; cabeza_col.anterior = null; ultimo_col.anterior = cabeza_col; } } else { if (indice < cabeza_col.getIndice_columna()) { aux_col = new Columnas_Ortogonal(); aux_col.setDimension(dimensión); aux_col.setIndice_columna(indice); cabeza_col.anterior = aux_col; aux_col.anterior = null; aux_col.siguiente = cabeza_col; cabeza_col = aux_col; } else if (indice > ultimo_col.getIndice_columna()) { aux_col = new Columnas_Ortogonal(); aux_col.setDimension(dimensión); aux_col.setIndice_columna(indice); ultimo_col.siguiente = aux_col; aux_col.anterior = ultimo_col; aux_col.siguiente = null; ultimo_col = aux_col; } else { Columnas_Ortogonal aux2c; aux_col = busqueda_enmedio_col(indice); aux2c = new Columnas_Ortogonal(); aux2c.setDimension(dimensión); aux2c.setIndice_columna(indice); aux2c.anterior = aux_col; aux2c.siguiente = aux_col.siguiente; aux_col.siguiente = aux2c; } } }