4 #include "clave_fija.h"
6 #include "keymanager.h"
8 int main (int argc, char *argv[])
10 int bloque, altas, bajas;
13 printf ("Uso : %s <block size> <cantidad de altas> <cantidad de bajas>\n", argv[0]);
17 bloque = atoi (argv[1]);
18 altas = atoi (argv[2]);
19 bajas = atoi (argv[3]);
22 BTree tree ("test.idx", bloque);
25 std::list<int>::iterator it;
27 Random::Ints (lst, altas);
29 double paltas = bajas / (double)(altas + bajas);
32 while (it != lst.end ()) {
35 double l = Random::Double (0.0f, 1.0f);
36 std::cout << l << " >= " << paltas << std::endl;
37 if (!km.Size() // si no tenemos claves agregadas, mejor que hagamos un alta
43 /* Tengo que borrar una clave entre 0 e "i" de la lista
44 * porque son las que ya agregue. */
45 ClaveFija c(km.GetRandom ());
49 std::cout << "Clave Borrada " << sss << std::endl;
55 std::list <int> l = km.GetList ();
59 while (it != l.end ()) {
65 std::cout << "** Clave " << (*it) << " encontrada.\n";
69 std::cout << "** Clave " << (*it) << " NO encontrada.\n";
75 std::cout << "\n\n === Resultados ===\n";
76 std::cout << " Hist : " << bien << "\n";
77 std::cout << " Miss : " << mal << "\n";
78 std::cout << " Total : " << (bien+mal) << "\n";