From 6e63b79fb00dd1050bd0edabf8f328cc6a7332f0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicol=C3=A1s=20Dimov?= Date: Sat, 29 May 2004 21:26:51 +0000 Subject: [PATCH 1/1] arreglos en el tree view --- emufs/tipo3_bplus_main.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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); } } -- 2.43.0