Changeset 296cc1b in mainline for generic/include/adt/btree.h


Ignore:
Timestamp:
2006-03-30T18:39:21Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ca687ad
Parents:
ff75d34
Message:

Change B+-tree from 2-3-4 tree to 2-3-4-5 tree by adding space for the fourth key.
This should make key removal easier.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • generic/include/adt/btree.h

    rff75d34 r296cc1b  
    3434#include <adt/list.h>
    3535
    36 #define BTREE_M         4
     36#define BTREE_M         5
    3737#define BTREE_MAX_KEYS  (BTREE_M - 1)
    3838
     
    5353        /**
    5454         * Pointers to descendants of this node sorted according to the key array.
    55          * subtree[0] points to subtree with keys lesser than or equal to key[0].
    56          * subtree[1] points to subtree with keys greater than key[0] and lesser than or equal to key[1].
     55         * subtree[0] points to subtree with keys lesser than to key[0].
     56         * subtree[1] points to subtree with keys greater than or equal to key[0] and lesser than key[1].
    5757         * ...
    5858         * There is room for storing a subtree pointer for the extra key.
     
    8181
    8282extern void btree_insert(btree_t *t, __native key, void *value, btree_node_t *leaf_node);
    83 extern void btree_remove(btree_t *t, __native key);
     83extern void btree_remove(btree_t *t, __native key, btree_node_t *leaf_node);
    8484extern void *btree_search(btree_t *t, __native key, btree_node_t **leaf_node);
    8585
Note: See TracChangeset for help on using the changeset viewer.