使用顺序表实现个人通讯录管理
需积分: 50 48 浏览量
更新于2024-09-12
2
收藏 35KB DOC 举报
"使用顺序表实现简单的通讯录系统,包括数据结构、添加、显示和删除功能。"
在本文中,我们将探讨如何使用顺序表来创建一个基本的通讯录系统。顺序表是一种线性数据结构,其中元素按照它们被添加的顺序进行存储。在这个通讯录系统中,每个联系人的信息(如姓名、街道、城市、邮编和国家)被封装在一个名为`message`的结构体中,然后这个结构体被存储在一个固定大小的数组`messagebook`中。
首先,我们定义了一个结构体`message`,它包含以下字段:
- `name`:存储联系人姓名,最大长度为`MAXI`个字符。
- `street`:存储街道名,最大长度同样为`MAXI`个字符。
- `cty`:存储城市名,最大长度为`MAXI`个字符。
- `eip`:存储邮政编码,类型为整型。
- `state`:存储国家名,最大长度为`MAXI`个字符。
接下来,我们有一个全局变量`n`,用于记录当前通讯录中存储的联系人数量。通讯录的核心功能包括:
1. **新建信息**:`enter()`函数用于获取用户输入的联系人信息,并创建一个新的`message`结构体。用户依次输入姓名、街道、城市、邮编和国家,然后函数返回新建的联系人信息。
2. **显示所有信息**:`display()`函数遍历整个`messagebook`数组,并打印出所有联系人的信息。它使用一个循环来访问每个元素,并打印出对应的姓名、街道、城市、邮编和国家。
3. **插入信息**:`dig()`函数将新建的联系人信息插入到已有的顺序表中。首先,它会检查数组中是否存在相同姓名的联系人,如果找到,则不执行插入操作。否则,会将所有后续的联系人向后移动一位,然后将新信息插入到适当的位置。最后,`n`值增加,表示添加了一个新的联系人。
4. **删除信息**:`del()`函数接收一个姓名作为参数,用于查找并删除具有该姓名的联系人。如果找到匹配的联系人,它会将其从数组中移除,并将所有后续的联系人向前移动一位,填补空缺。请注意,这个函数并未更新`n`值,因此在实际应用中,需要在调用此函数后手动更新`n`,以反映通讯录中的实际联系人数。
在实际的系统中,可能还需要添加其他功能,如搜索特定联系人、修改联系人信息等。同时,为了防止数组溢出,可以考虑使用动态内存分配来扩展数组大小。此外,为了提高效率和用户体验,可以使用二分查找等方法来改进查找和删除操作。但在这个基础版本中,顺序表简单易懂,适合初学者理解数据结构在实际问题中的应用。
1077 浏览量
110 浏览量
163 浏览量
点击了解资源详情
308 浏览量

空心木
- 粉丝: 0
最新资源
- AVR单片机C语言编程实战教程
- MATLAB实现π/4-QDPSK调制解调技术解析
- Rust开发微控制器USB设备端实验性框架介绍
- Report Builder 12.03汉化文件使用指南
- RG100E-AA U盘启动配置文件设置指南
- ASP客户关系管理系统的联系人报表功能解析
- DSPACK2.34:Delphi7控件的测试与应用
- Maven Web工程模板 nb-parent 评测
- ld-navigation:革新Web路由的数据驱动导航组件
- Helvetica Neue字体全系列免费下载指南
- stylelint插件:强化CSS属性值规则,提升代码规范性
- 掌握HTML5 & CSS3设计与开发的关键英文指南
- 开发仿Siri中文语音助理的Android源码解析
- Excel期末考试复习与习题集
- React自定义元素工具支持增强:react-ce-ubigeo示例
- MATLAB实现FIR数字滤波器程序及MFC界面应用