public void EliminaEnArbolPrimario(Atributo atributo, string Ruta, int Clave, string RutaArchivoDicc) { Arbol ArbolP = new Arbol(ManejadorArchivo.ObtenNodos(atributo, archivo, Ruta), atributo); Nodo NodoDondeSevaAEliminar = ArbolP.ObtenNodoConLaClave(Clave); long DireccionDondeEliminar = NodoDondeSevaAEliminar.ObtenApuntadorHoja(Clave); EliminaEnArbol(ArbolP, NodoDondeSevaAEliminar, Clave, DireccionDondeEliminar, Ruta, atributo, RutaArchivoDicc); }
public void EliminaEnArbolSecundario(Atributo atributo, string Ruta, int Clave, string RutaArchivoDicc, long Direccion) { Arbol ArbolS = new Arbol(ManejadorArchivo.ObtenNodos(atributo, archivo, Ruta), atributo); // Obtenemos los nodos del árbol secundario Nodo Nodo = ArbolS.ObtenNodoConLaClave(Clave); // Creamos un nodo que va a servir como auxiliar para long Dir = ArbolS.ObtenDireccionDeHoja(Clave); List <long> Bloque = ManejadorArchivo.LeeCajonIndiceSecundario(Ruta, archivo, Dir); Bloque.Remove(Direccion); if (Bloque.Count == 0) { EliminaEnArbol(ArbolS, Nodo, Clave, Direccion, Ruta, atributo, RutaArchivoDicc); } else { ManejadorArchivo.EscribeCajonSecundario(Ruta, archivo, Dir, Bloque); } if (ArbolS.Nodos.Count == 0) { ManejadorArchivo.CreaArchivo(Ruta, archivo); } }