问题描述】在很多实际应用中,动态索引结构在文件创建或初始装入记录时生成,在系统运行过程中插入或删除记录时,为了保持较好的检索性能,索引结构本身将随之发生改变。教材上已经介绍的动态查找数据结构包括:二叉排序树(BST)、平衡二叉树(AVL)、B-树。本题要求选取一种已经学过的动态搜索树结构,设计并实现一个手机通讯录软件。
【基本要求】一个完整的通讯录软件应具有以下功能:
(1)支持复式通讯录数据的存储,数据条目不少于50条。每个人名下可保存的信息包括:姓名、手机号码、住宅电话号码、办公电话号码、电子邮件地址、所属群组、备忘录等。
(2)支持通讯录记录的添加、删除、编辑等操作。
(3)将不同类型的人群按照同事、朋友、家人、商务伙伴等分组,支持群组记录的添加、删除、编辑等操作。
(4)支持所有通讯录记录的导入、导出操作,外部数据采用TXT格式。
(5)支持通讯录记录的各种查询操作,具体包括:
①逐条翻看能显示所有的通讯录记录,支持分屏查看。②电话号码查找输入一个电话号码(手机、住宅、办公),能将包含该号码的通讯录记录显示出来。
③人名查找输入一个人名(全名或者部分名),能将包含该姓名的通讯录记录显示出来。
④群组查找选择一种群组类型,能将属于该群组的所有通讯录记录显示出来。
【实现提示】(1)设计合适的通讯录数据格式;(2)设计合适的索引格式。
案例C语言C++程序:B树通讯录系统编程设计
2017-08-08