使用顺序表实现个人通讯录管理
需积分: 30 35 浏览量
更新于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`,以反映通讯录中的实际联系人数。
在实际的系统中,可能还需要添加其他功能,如搜索特定联系人、修改联系人信息等。同时,为了防止数组溢出,可以考虑使用动态内存分配来扩展数组大小。此外,为了提高效率和用户体验,可以使用二分查找等方法来改进查找和删除操作。但在这个基础版本中,顺序表简单易懂,适合初学者理解数据结构在实际问题中的应用。
2012-04-16 上传
2024-04-07 上传
2021-07-20 上传
2016-08-27 上传
点击了解资源详情
空心木
- 粉丝: 0
- 资源: 1
最新资源
- 探索AVL树算法:以Faculdade Senac Porto Alegre实践为例
- 小学语文教学新工具:创新黑板设计解析
- Minecraft服务器管理新插件ServerForms发布
- MATLAB基因网络模型代码实现及开源分享
- 全方位技术项目源码合集:***报名系统
- Phalcon框架实战案例分析
- MATLAB与Python结合实现短期电力负荷预测的DAT300项目解析
- 市场营销教学专用查询装置设计方案
- 随身WiFi高通210 MS8909设备的Root引导文件破解攻略
- 实现服务器端级联:modella与leveldb适配器的应用
- Oracle Linux安装必备依赖包清单与步骤
- Shyer项目:寻找喜欢的聊天伙伴
- MEAN堆栈入门项目: postings-app
- 在线WPS办公功能全接触及应用示例
- 新型带储订盒订书机设计文档
- VB多媒体教学演示系统源代码及技术项目资源大全