From: Nicolás Dimov Date: Sat, 29 May 2004 21:26:51 +0000 (+0000) Subject: arreglos en el tree view X-Git-Tag: svn_import_r684~109 X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/commitdiff_plain/6e63b79fb00dd1050bd0edabf8f328cc6a7332f0?ds=sidebyside;hp=e169f0ba3f5a5582b96e2d736f7800049454c7ab arreglos en el tree view --- diff --git a/emufs/tipo3_bplus_main.c b/emufs/tipo3_bplus_main.c index 37c8e31..4531942 100644 --- a/emufs/tipo3_bplus_main.c +++ b/emufs/tipo3_bplus_main.c @@ -19,11 +19,12 @@ int no_esta(int num, int* vec, int len) void ver_arbol(EMUFS *emu) { NODO_B_PLUS *nodo; - int num_nodo, i, tecla; + int num_nodo, num_nodo_ant,i, tecla; num_nodo =0; while ( tecla != 666){ nodo = b_plus_leer_nodo(emu->indices, num_nodo); + printf("NODO: (hijo)clave\n"); printf("Nivel: %d\n", nodo->nivel); for (i=0; icant_claves; i++) printf("(%d)%d", nodo->hijos[i], nodo->claves[i]); @@ -32,11 +33,11 @@ void ver_arbol(EMUFS *emu) printf("Ingrese proximo nodo a explorar, o 666 para salir: "); scanf("%d",&tecla); printf("%d\n",tecla); - if ( (no_esta(tecla, nodo->hijos, nodo->cant_claves+1) == -1) || (nodo->nivel==0) ){ - num_nodo =0; + if ( tecla!=0&&((no_esta(tecla, nodo->hijos, nodo->cant_claves+1) == -1) || (nodo->nivel==0)) ){ + num_nodo = num_nodo_ant; printf("El nodo no existe o es nivel cero\n"); } - else num_nodo = tecla; + else num_nodo_ant = num_nodo = tecla; b_plus_destruir_nodo(nodo); } }