前言
这是采用通用模板(Template)结合类、数据结构之双向链表实现对联系人的dianhaubu管理,完成度较高。
功能实现
- 结构体具有联系人姓名、电话、年龄且自动编排的序号。
- 采用模板结合类的方式实现。
- 能够通过序号及姓名进行查找、修改及删除联系人结构体结点,且能够输出链表长度。
- 能够实时对联系人数据进行本地存储、读取及删除。
- 能够通过姓名进行通配符匹配查找,例如*表示所有名字,?表示任意字符。
- 等等。
部分函数说明
DoubleLinkList(); //构造函数,链表初始化
~DoubleLinkList(); //析构函数,释放链表内存
bool IsEmpty(); //判断联系人链表是否为空,为空则返回true
void InsertAtRear( NodeType &Value ); //链表上向后插入联系人结点
void TraverseForward(); //从前往后遍历联系人电话簿
int FileWrite(); //将联系人信息保存到本地文件
int FileRead(); //从本地文件中读取联系人电话簿信息
bool CompStr(char *, char *); //联系人姓名通配符匹配
void SearchByName(char *); //通过姓名查找联系人
void SearchByIndex(int); //通过序号查找联系人
void DeleteByName(char *); //通过姓名删除联系人
void DeleteByIndex(int); //通过序号删除联系人
void UpdateByName(char *); //通过姓名查找联系人并更改其信息
void UpdateByIndex(int); //通过序号查找联系人并更改其信息
int LenghtOfDoubleLinkList(); //判断链表长度,即电话簿联系人总数
Node< NodeType > *CreateNode( NodeType &Value ); //生成结点模板