]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blobdiff - src/btree.h
Mas memory leaks eliminados.
[z.facultad/75.52/treemulator.git] / src / btree.h
index cf9cc30ea508c70d2a24e8b4445805cb80970ea7..f888eea9fbec91af7c22335448b9d01f0b08717c 100644 (file)
@@ -140,7 +140,7 @@ class BTree {
                 */
                BTreeFindResult *FindKey (const Clave &k);
 
-       protected:
+       //protected:
                /* Funciones de Alta */
                Clave* AddKeyR (const Clave *k, uint node_num, uint &left_child, uint &right_child);
                Clave* AddKeyOtherR (const Clave *k, uint node_num, uint &left_child, uint &right_child);
@@ -149,9 +149,11 @@ class BTree {
                /* Funciones de Baja */
                void DelKeyR (BTreeData *k, uint node, uint padre);
                void DelKeyFromLeaf (Clave *k, uint node_num, uint padre);
-               void DelKeyFromOther (const Clave &k, BTreeFindResult *r);
-               void FindB (uint node_num, uint padre, uint &left, uint &right);
+               void DelKeyFromNode (Clave *k, uint node_num, uint padre, uint left, uint right);
+               void FindBrothers (uint node_num, uint padre, uint &left, uint &right);
+               Clave *ReplaceKeyInFather (uint node_num, uint padre, Clave *k);
                Clave *GetKey (uint node_num, char maxmin);
+               void JoinNodes (uint node1, uint node2, uint padre, int);
 
                /* Funciones de Búsqueda */
                BTreeFindResult *FindKeyR (const Clave *k, uint node);
@@ -173,6 +175,10 @@ class BTree {
                void WriteKeys (uchar *node, BTreeNodeHeader &node_header, std::list<BTreeData *> &keys);
                void DeleteKeys (std::list<BTreeData *> &keys);
 
+               /* Abreviacion de Claves */
+               void AbrevKey (std::list<BTreeData *> &lst);
+               void DeAbrevKey (std::list<BTreeData *> &lst);
+
                std::string filename;
                BTreeFileHeader header;
                int key_type;