- 39 -
Передвижение по дереву поиска и формирование дерева поиска:
key_insert(Dbase,Btree,Key,Ref)
(db_selector,bt_selector,string,ref) - (i,i,i,i)
Включить ключ Key в В-дерево поиска Btree базы данных Dbase.
Ref содержит адрес цепочки, которая соответствует этому ключу.
key_insert (dba, city, "123", R)
key_delete(Dbase,Btree,Key,Ref)
(db_selector,bt_selector,string,ref) - (i,i,i,i)
Удалить ключ Key в В-дереве Btree базы данных Dbase. Ref со-
держит адрес цепочки, которая соответствует этому ключу.
Каждое B-дерево сохраняет (поддерживает) внутренний указа-
тель на свои узлы. Key_first и key_last позволяют вам ставить
указатель на первый и последний ключ соответственно, key_search -
на заданный, key_current - на текущий.
key_first(Dbase,Btree,FirstRef)
(db_selector,bt_selector,ref) - (i,i,o)
key_last(Dbase,Btree,LastRef)
(db_selector,bt_selector,ref) - (i,i,o)
key_search(Dbase,Btree,Key,Ref)
(db_selector,bt_selector,string,ref) - (i,i,i,o)
Если ключ не найден, key_search - возвращает значение fail,
но указатель будет указывать на тот ключ, сразу после которого
искомый ключ должен был бы разместит ься.
key_search (dba, Bcity, "075", R)
key_current(Dbase,Btree,Key,Ref)
(db_selector,bt_selector,string,ref) - (i,i,o,o)
Предикаты key_next и key_prev служат для передвижения указа-
теля B-дерева вперед или назад в отсортированном дереве.
key_next(Dbase,Btree,NextRef)
(db_selector,bt_selector,ref) - (i,i,o)