没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论












C语言基于哈希表实现通讯录语言基于哈希表实现通讯录
主要为大家详细介绍了C语言基于哈希表实现通讯录,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文为大家分享了C语言基于哈希表实现通讯录的具体代码,供大家参考,具体内容如下
1.需求分析.需求分析
本演示程序用C语言编写,完成哈希表的生成,电话号码的插入、以及查找等功能。
(1)按提示输入相应的联系人的相关资料;
(2)以相应的输出形式输出所存储的的联系人的资料;
(3)程序可以达到建立、添加、查找、打印的功能;
(4)程序可以判断用户输入的非法数据并引导正确的输入。
2.概要设计.概要设计
存储电话号码的记录时,若在存储位置和其关键字之间建立某种确定的对应关系使得每个关键字和存储结构中一个唯一的存储
位置相对应,那么在进行查找时,根据这个对应关系f就可以找到给定值K的像f(K)。若存储结构中存在关接找到所查记录。这
个对应关系f称为哈希(Hash)函数或散列函数。按照以上思路建立的表称为哈希表或散列表。本案例设计主要考察散列表的建
立、查找和修改。。
3.详细设计.详细设计
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct node
{
char num[11],name[15],address[20],city[15],etp[20];
struct node *next;
}NUM;
struct NUM *num_list[19];
int hash(char num[])
{
int i,k=0;
for(i=0;num[i]!=' ';i++)
{
k=10*k+num[i]-48; //字符转化为数字
}
k=(k%19); //除余法求散列地址
return k;
}//c除留余数法处理电话号码
void create()
{
struct node *p1;
int k1,m=0;
while(m==0)
{
printf("请输入你想添加人的信息:num name address city etp,");
p1=(struct node *)malloc(sizeof(struct node));
scanf("%s",p1->num);
scanf("%s",p1->name);
scanf("%s",p1->address);
scanf("%s",p1->city);
scanf("%s",p1->etp);
k1=hash(p1->num);//用num数组值作为参数传递给哈希函数得到k1
p1->next=num_list[k1];//將k1得到的值作为数组的储存地址赋值给头结点的下一个节点
num_list[k1]=p1;//再將p1的数据传递给数组,故p1可以释放作为下一个节点产生
printf("结束请按1,再次输入请按0");
scanf("%d",&m);
}
printf("通讯表已经创建");
}
void dlter()
{
char num[11];
int k1;
int find=0;
struct node *f;
printf("请查询要修改的联系人的电话::");
scanf("%s",num);
k1=hash(num);
资源评论

- 咖啡碎冰冰2023-07-26通过使用哈希表数据结构,这个文件避免了重复和冲突的问题,确保了通讯录的准确性和完整性。
- 袁大岛2023-07-26这个C语言文件的界面简洁大方,十分易于上手,对于我这样的编程新手来说非常友好。
- 大头蚊香蛙2023-07-26我很喜欢这个文件的设计,它提供了一种直观而方便的方式来添加、删除和编辑联系人。
- 白小俗2023-07-26这个文件使用了哈希表来实现通讯录,使得查找和存储联系人信息变得高效而快速。
- 彥爷2023-07-26这个文件提供了一个简洁而易于使用的通讯录,让我能够轻松地管理我的联系人。

weixin_38623707
- 粉丝: 4
- 资源: 924
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于微信小程序的图书管理系统(服务端+小程序端)源码
- 壁纸_1.8.8_仅支持安卓13(公众号@极客geeking持续更新).apk
- 打外星人小游戏,运用pygame来实现打外星人小游戏
- Stress-Test-Driven Qualification of Integrated Circuits JESD47K
- 手机工具-华为一键解锁工具
- URP Shadow Receicer Shader
- 自定义改版UnityExcel插件
- Requirements for Handling ESDS Devices 防静电
- 1701165601027174_wireshark-4.2.0.tar.xz
- magiskmanager-5.8.1
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
