资源简介
B-树实现目录索引,图书管理基本业务活动包括:对一本书的采编入库、清除库存、借阅和归还等等。由于上述四项基本业务活动都是通过书号(即关键字)进行的,所以要用B树(2-3树)对书号建立索引,以获的高效率。故重点是要完成B树的建立、查找、插入、删除等基本操作。
既为图书管理,就需要一个模块来完成对借阅者的注册、登记和记录借阅情况,本程序使用文件来完成上述操作。
演示程序是以用户于计算机的对话方式执行,这需要一个模块来完成使用者与计算机语言是转化。
程序执行时的命令:
本程序为了使用时的方便,采用菜单式的方式来完成程序的演示,几乎不用输入什么特殊的命令,只需按提示输入选者即可
代码片段和文件信息
#include “btree.h“
//复制结点将某个结点的值复制到另外一个值上
void KeyTypeCopy(KeyType &bakKeyType k){
bak.key = k.key;
strcpy(bak.bnamek.bname);
bak.left = k.left;
bak.total = k.total;
strcpy(bak.writterk.writter);
bak.user = k.user;
}
//在一个结点中查找元素返回结点的位置
int Search(BTree p KeyType K) {
if(!p)
return -1;
int i=0;
for(i = 0; i < p->keynum && p->key[i+1].key <= K.key; i++);
return i;
}
// 在m阶B树T上查找关键字K,返回结果(ptitag)
Result SearchBTree(BTree T KeyType K){
BTree p q;
int found i;
Result R;
//初始化变量
p = T;
q = NULL;
found = FALSE;
i = 0;
// 初始化,p指向待查结点,q指向p的双亲
while (p && !found) {
i = Search(p K);
// 找到待查关键字
if (i > 0 && p->key[i].key == K.key)
found = TRUE;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2808 2008-06-29 19:26 show.cpp
文件 5146 2008-07-05 02:18 user.cpp
文件 10192 2008-06-29 19:49 BTree.cpp
文件 4337 2008-06-29 19:25 btree.h
文件 1433 2008-07-04 12:37 LogMess.cpp
文件 3691 2008-08-27 02:37 main.cpp
----------- --------- ---------- ----- ----
27607 6
评论
共有 条评论