在这个实验报告中,黄孔进同学正在探讨和实现基于数组的线性表数据结构,用于管理通讯录。线性表是一种基本的数据结构,它包含一个有限的元素序列,这里的元素是通讯录中的联系人信息,包括姓名、电话号码、班级和宿舍。线性表的顺序存储结构使用数组来表示,因为数组提供了连续的内存空间,便于进行插入、删除和查找等操作。 实验的主要目标是理解和掌握线性表结构,特别是通过数组描述的方法,以及如何在实际应用中实现线性表的操作。软件环境是Dev C++编辑器在Windows 10 x64操作系统上运行。 实验内容包括创建一个线性表类,该类需要支持以下操作: 1. 插入:向线性表中添加新的联系人信息。 2. 删除:根据姓名移除某个联系人信息。 3. 查找:按照姓名查找特定联系人。 4. 编辑:更新联系人的某个或所有信息。 5. 输出:根据班级查找并打印出所有该班级的联系人信息。 数据结构部分,黄孔进使用了数组形式的线性表。数组的特性使得可以直接通过下标访问元素,且插入和删除操作在已知位置时具有较高的效率。但是,如果插入和删除的位置不确定,如在列表中间,可能需要移动大量元素,这会降低效率。 算法部分,主要采用顺序查找。在查找指定姓名的联系人时,由于没有提及使用更高效的数据结构(如哈希表),因此很可能遍历整个数组,直到找到匹配的姓名或遍历完数组。这种查找方法的时间复杂度为O(n),其中n是线性表的长度。 测试结果显示,实验成功实现了上述操作: - 操作2:从文件Test.txt中插入联系人信息。 - 操作1:通过键盘输入插入联系人。 - 操作4:编辑联系人信息。 - 操作6:成功输出3班的所有联系人信息。 - 操作3和5:成功删除和查找联系人。 在分析与探讨部分,黄孔进指出操作6成功返回了3班的所有成员信息,而操作5在找不到Kevin时成功执行了删除操作,这表明查找和删除功能正常工作。 附录中的源代码(Exp3.cpp)显示了实现这些功能的具体C++代码,包括类定义和各个操作的方法。源代码遵循了清晰易读的编程风格,并有充足的注释,方便理解每个函数的作用。 这个实验旨在让学生熟悉和掌握线性表的基本操作,通过数组实现线性表,以及在实际应用中如何运用这些操作。实验涵盖了数据结构和算法的基础知识,对于计算机科学与技术专业的学生来说,这是非常重要的实践环节。
剩余13页未读,继续阅读
- 粉丝: 37
- 资源: 302
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助