第1页共10页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共10页3通讯簿管理(顺序表的应用)【问题描述】通讯簿是一个线性表,可以存储一定数量的联系人记录,提供查找、插入、删除和修改等操作
通讯簿的特点是以查找为主要操作,要求快速查找到指定对象的位置故宜采用具有随机访问功能的顺序表
【数据结构】使用顺序表SeqList建立通讯簿
作为表项的联系人记录,至少应包括以下属性:{序号,姓名,与本人关系,电话号码}其中序号具有唯一性
序号和姓名可作为查找的主要关键字
与本人关系可枚举为“亲人”、“朋友”和“同事”,主要作用是为联系人分组,并作为次要关键字
将上述联系人记录定义为一个结构(struct),在主程序中建立模板类顺序表SeqList的对象时用该结构实例化表结点的类型
【主要功能】程序应为用户提供操作选择界面,必要的操作包括:查找某人电话号码,添加新记录,修改记录,删除记录,打印亲人清单、朋友清单或同事清单以及退出等
另外,为初始化方便,原始数据可存储在磁盘文件中
【主要代码】#include#includestaticn=1;enumRelation{Friend,Relative,colleague};templatestructPeople{charNumber[10];//编号charPNumber[12];//电话号码charname[20];//姓名intm;//关系People(int&ite){m=ite;}People(int&p1,charName[],charP[],charitem[]){for(inti=0;i