C语言中如何利用哈希表实现通讯录
C语言中如何利用哈希表实现通讯录
发布时间:2022-04-01 17:50:43 来源:高防服务器网 阅读:50 作者:iii 栏目:编程语言
这篇“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]!='