《数据结构与算法分析》课程设计教学任务书
通讯录系统设计:
设计要求
设计以姓名为关键字的散列表(哈希表),实现通讯录查找系统,完成相应的建表和查表程序。
(1)设每个记录有下列数据项:用户名、电话号码、地址;
(2)从键盘输入各记录,分别以姓名为关键字建立散列表;
(3)人名可以采用汉语拼音形式。人名字符串转化为数字的方式自行决定。
(4)哈希函数用除留余数法构造,采用二次探测再散列法解决冲突;
(5)根据姓名查找,找到显示给定记录的电话号码和地址;找不到提示通讯录无此人。
(6)通讯录信息保存到文件。
=============================================================
以上为任务书,我的程序在其基础上又增加了以下功能:
1、通讯录信息以链表的形式进行存储。
2、可从文件读取之前保存的通讯录信息。
3、人名支持汉字。
===================================
文件说明:
contacts.c ——主程序文件
hash.c -- 支持哈希表操作的函数
hash.h -- 哈希类型接口文件
list.c -- 支持列表操作的函数
list.h——列表类型接口文件
menu.c —— 实现菜单的函数
menu.h —— 菜单函数的声明
contacts.dat —— 数据存储文件(二进制形式)
Contacts.cbp ——CodeBlocks工程文件,如有CodeBlocks,可直接打开工程。
1