X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/e8fa2ccccf10bdfcff1aedbaf919f3bc823f1ecf..5565477433b377796908c649d62b17f83adbcb3a:/emufs/indice_b.h diff --git a/emufs/indice_b.h b/emufs/indice_b.h index 7093de2..9e46910 100644 --- a/emufs/indice_b.h +++ b/emufs/indice_b.h @@ -10,11 +10,11 @@ #include "indices.h" typedef struct _b_nodo_header_ { - int nivel; /* Numero de nivel. Si es hoja debe ser 0 */ - int cant; /* Cantidad de items en el nivel */ + int nivel; /**< Numero de nivel. Si es hoja debe ser 0 */ + int cant; /**< Cantidad de items en el nivel */ int padre; - /* Nodo al que debo ir si la clave a insertar/buscar/borrar + /** Nodo al que debo ir si la clave a insertar/buscar/borrar * es menor que la primera del nodo */ int hijo_izquierdo; @@ -22,23 +22,22 @@ typedef struct _b_nodo_header_ { typedef struct _b_nodo_entry_ { CLAVE clave; - /* Si el nivel del nodo == 0, quiere decir que es el - * bloque del archivo de datos donde esta el registro. - * Si el nivel != 0, es el siguiente bloque dentro - * del archivo de indice donde buscar - */ + /** Dato guardado */ INDICE_DATO dato; - /* El ID de la hoja de depliega a la derecha */ + /** El ID de la hoja de depliega a la derecha */ int hijo_derecho; } B_NodoEntry; -/* Crea un arbol */ +/** Crea un árbol */ void emufs_indice_b_crear(INDICE *idx); -/* Inserta un par clave-ubicacion */ +/** Inserta un par clave-ubicacion */ int emufs_indice_b_insertar(INDICE *idx, CLAVE clave, INDICE_DATO dato); -/* Busca una clave, retorna ubicacion o -1 si no existe */ +/** Borra una entrada */ +int emufs_indice_b_borrar(INDICE *idx, CLAVE k); + +/** Busca una clave, retorna ubicacion o -1 si no existe */ INDICE_DATO emufs_indice_b_buscar(INDICE *idx, CLAVE clave); INDICE_DATO *emufs_indice_b_buscar_muchos(INDICE *idx, CLAVE clave, int *cant);