+int no_esta(int num, int* vec, int len)
+{
+ int i, res;
+ res = -1;
+ for(i=0; i<len; i++)
+ if ( vec[i] == num ) res = 0;
+ return res;
+}
+
+
+void ver_arbol(EMUFS *emu)
+{
+ NODO_B_PLUS *nodo;
+ int num_nodo, num_nodo_ant,i, tecla;
+ num_nodo =0;
+
+ while ( tecla != -1){
+ nodo = b_plus_leer_nodo(emu->indices, num_nodo);
+ printf("NODO: (hijo)clave\n");
+ printf("Nivel: %d\n", nodo->nivel);
+ for (i=0; i<nodo->cant_claves; i++)
+ printf("(%d)%d", nodo->hijos[i], nodo->claves[i]);
+ printf("(%d)",nodo->hijos[i]);
+ printf("\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)) ){
+ num_nodo = num_nodo_ant;
+ printf("El nodo no existe o es nivel cero\n");
+ }
+ else num_nodo_ant = num_nodo = tecla;
+ b_plus_destruir_nodo(nodo);
+ }
+}