用哈希表制作电话簿

  • 项目功能介绍

 项目实现的功能是电话簿的制作,该设计主要实现电话簿管理中常用的几个功能,包括联系人的电话号码姓名等信息的存储、增加、查询、修改、删除等操作,通讯者所包含信息自行设定。

  • 数据结构选择

数据结构采用哈希表进行相关操作,哈希表集数组和链表的优点,它可以提供快速的插入操作和查找操作。不论哈希表中有多少数据,插入和删除只需要接近常量的时间即O(C)的时间级;而且还可以通过链表的形式存储结构体类型数据,实现不同类型信息的处理;

  • 具体的实现过程(文字、流程图、思维导图)
  1. 打开文件fopen,如果文件存在就读取文件内容,文件不存在就创建文件。
  2. 创建哈希表
  3. 创建哈希函数根据电话号码选择合适的算法,避免哈希冲突,合理分配空间。
  4. 输出功能菜单供用户选择
  1. -------------------------------增加联系人
  2. -------------------------------删除联系人
  3. -------------------------------修改联系人信息
  4. -------------------------------查询联系人
  5. -------------------------------显示现有联系人

其他输入---------------------退出

    5、检测用户输入内容进行增删改查等相关操作

    6、将信息存储到文件,以便下次操作使用

​​​​

源代码详见:https://download.csdn.net/download/csdn_fjc/865032

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个简单的电话号码管理系统可以使用哈来实现。哈是一个由键值对组成的数据结构,其中每个键唯一地对应于一个值。使用哈可以快速地查找电话号码,而不需要遍历整个电话簿。 以下是一个使用哈实现电话号码管理系统的示例代码: ```python class PhoneNumber: def __init__(self, name, number): self.name = name self.number = number class PhoneBook: def __init__(self): self.phone_book = {} def add_number(self, name, number): self.phone_book[name] = PhoneNumber(name, number) def remove_number(self, name): if name in self.phone_book: del self.phone_book[name] def lookup_number(self, name): if name in self.phone_book: return self.phone_book[name].number else: return None ``` 上述代码中,我们定义了两个类:PhoneNumber(电话号码)和PhoneBook(电话簿)。PhoneNumber类包含一个姓名和一个电话号码。PhoneBook类包含一个哈,用于存储电话号码,以及三个方法:add_number(添加电话号码)、remove_number(删除电话号码)和lookup_number(查找电话号码)。 当我们添加一个电话号码时,我们将姓名作为键,PhoneNumber对象作为值,存储在哈中。当我们查找电话号码时,我们使用姓名作为键查找哈,并返回对应的电话号码。当我们删除电话号码时,我们使用姓名作为键从哈中删除对应的PhoneNumber对象。 在使用哈实现电话号码管理系统时,我们需要注意选择一个适当的哈函数,使得键值能够均匀地分布在哈中。同时,我们需要处理哈冲突,以确保不同的键值不会映射到同一个位置上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值