NODO_B_PLUS *nodo;
int num_nodo, num_nodo_ant,i, tecla;
num_nodo =0;
-
+ num_nodo_ant=0;
while ( tecla != -1){
nodo = b_plus_leer_nodo(emu->indices, num_nodo);
printf("NODO: (hijo)clave\n");
printf("Ingrese proximo nodo a explorar, o -1 para salir: ");
scanf("%d",&tecla);
printf("%d\n",tecla);
- if ( tecla!=0 &&((no_esta(tecla, nodo->hijos, nodo->cant_claves+1) == -1) || (nodo->nivel==0)) ){
+ if (tecla == 0){
+ num_nodo = 0;
+ continue;
+ }
+ if ( tecla == nodo->hijos[nodo->cant_claves] && nodo->nivel == 0){
+ num_nodo = nodo->hijos[nodo->cant_claves];
+ continue;
+ }
+ if ( (no_esta(tecla, nodo->hijos, nodo->cant_claves+1) == -1)) {
num_nodo = num_nodo_ant;
printf("El nodo no existe o es nivel cero\n");
}
CLAVE clave;
char *texto, *texto2;
char *r;
+ int tecla;
EMUFS *emu;
int tam_nodo = SIZE_B_PLUS_HEADER + sizeof(CLAVE)*5 + sizeof(CLAVE)*6;
EMUFS_REG_SIZE len, size;
int err=0, i;
INDICE_DATO dato;
B_PLUS_KEYBUCKET *v;
-
+ INDEX_DAT query;
texto = "PARTE COSNSTANTE, clave =";
emu = emufs_crear("test",T4,512,0);
printf("v[%d] = %d\n", i, v->claves[i]);
ver_arbol(emu);
+
+printf("Buscar el POST de:\n");
+scanf("%d", &tecla);
+clave.i_clave = tecla;
+PERR("BUSCANDO");
+b_plus_buscar_prepost(emu->indices, clave, 0, &query, 1);
+
+printf("el post de %d, es %d\n", clave, query.clave);
+
emufs_destruir(emu);
return 0;
printf("Ingrese proximo nodo a explorar, o -1 para salir: ");
scanf("%d",&tecla);
printf("%d\n",tecla);
- if ( tecla!=0 &&((no_esta(tecla, nodo->hijos, nodo->cant_claves+1) == -1) || (nodo->nivel==0)) ){
+ if (tecla == 0){
+ num_nodo = 0;
+ continue;
+ }
+ if ( tecla == nodo->hijos[nodo->cant_claves] && nodo->nivel == 0){
+ num_nodo = nodo->hijos[nodo->cant_claves];
+ continue;
+ }
+ if ( (no_esta(tecla, nodo->hijos, nodo->cant_claves+1) == -1)) {
num_nodo = num_nodo_ant;
printf("El nodo no existe o es nivel cero\n");
}