]> git.llucax.com Git - z.facultad/75.52/treemulator.git/commitdiff
Fixes.
authorRicardo Markiewicz <rmarkie@fi.uba.ar>
Wed, 21 Sep 2005 03:57:40 +0000 (03:57 +0000)
committerRicardo Markiewicz <rmarkie@fi.uba.ar>
Wed, 21 Sep 2005 03:57:40 +0000 (03:57 +0000)
Con esto que esta hasta ahora, hice un add de 1900 y no peto (falta
revisar si es correcto el arbol armado :)

src/btree_data.cpp
src/btree_data.h
src/main.cpp

index 46917d6f1c5b2a31187b03db5b0b4ccb4a9abeb9..1203d6c98a8c62392acc959268667df7ef7c3cb3 100644 (file)
@@ -43,6 +43,8 @@ uchar* BTreeData::ToArray () const
 
 bool BTreeData::operator < (const BTreeData &data) const
 {
 
 bool BTreeData::operator < (const BTreeData &data) const
 {
+       if (!data.clave) return false;
+
        return (*clave) < (*(data.clave));
 }
 
        return (*clave) < (*(data.clave));
 }
 
index d53b85fe54f5f865f5f10984f677df724f0581bd..5bbfc27d6e80bd3efa85384b488d0a33cd4d41d9 100644 (file)
@@ -54,7 +54,7 @@ class BTreeLeafData:public BTreeData {
 
 class BTreeChildData:public BTreeData {
        public:
 
 class BTreeChildData:public BTreeData {
        public:
-               BTreeChildData (uint child):BTreeData () { hijo = child; }
+               BTreeChildData (uint child):BTreeData () { hijo = child; clave = NULL; }
                BTreeChildData (uchar *node);
                virtual ~BTreeChildData ();
 
                BTreeChildData (uchar *node);
                virtual ~BTreeChildData ();
 
index 3c30c4a25c353e5792be3190acb6ec83856e6cb3..c367a4c7e04c8da998b3e9361539aaeb8dda1e7e 100644 (file)
@@ -6,8 +6,13 @@
 int main  (int argc, char *argv[])
 {
        BTree tree ("test.idx", 64);
 int main  (int argc, char *argv[])
 {
        BTree tree ("test.idx", 64);
+       
+       if (argc != 2) {
+               printf ("Falta parametro cantidad de elementos a agregar\n");
+               return 1;
+       }
 
 
-       for (int i=0; i<=13; i++) {
+       for (int i=0; i<=atoi(argv[1]); i++) {
                ClaveFija c(i);
 
                std::cout << "Agregando " << i << std::endl;
                ClaveFija c(i);
 
                std::cout << "Agregando " << i << std::endl;