数组描述线性表的实验报告:C++实现通讯录管理

需积分: 0 0 下载量 68 浏览量 更新于2024-08-04 收藏 194KB DOCX 举报
"张愈博的实验报告,201700130009,山东大学计算机科学与技术学院数据结构与算法课程,实验三,主题为数组描述线性表,使用Windows10操作系统和Dev-C++5.11编译器,旨在掌握线性表的结构、数组描述的顺序存储以及其实现和应用。实验内容包括创建线性表类,实现插入、删除、查找等操作,并基于此设计通讯录管理功能。" 在本实验中,核心知识点主要涉及以下几个方面: 1. **线性表的结构**:线性表是一种基本的数据结构,由n(n≥0)个相同类型元素的有序序列组成。它可以是空表,也可以包含一个或多个元素。 2. **顺序存储结构**:线性表的数组描述即采用顺序存储结构,它通过数组来存储线性表中的元素,元素之间按照位置顺序紧密相连,便于进行随机访问。 3. **数组描述线性表的实现**:在C++中,可以通过定义一个数组来表示线性表,每个数组元素代表线性表中的一个节点。为了实现插入、删除、查找等操作,需要考虑动态调整数组大小以及处理边界条件。 4. **模板抽象类和派生类**:实验中使用了模板抽象类来定义线性表的基本操作,然后派生出一个模板数组描述线性表类,具体实现虚函数。这种设计模式遵循了面向对象编程的原则,提高了代码的可重用性和灵活性。 5. **联系人类的设计**:为满足实验需求,设计了一个联系人类,包含了姓名、电话号码、班级和宿舍等属性,以便于构建通讯录表。 6. **通讯录管理功能**:通过线性表操作实现通讯录的管理,包括插入新的联系人、删除已有的联系人、编辑联系人信息以及按姓名查找联系人。此外,还支持按班级筛选并显示所有人的信息。 7. **测试与结果分析**:实验通过输入不同的数据进行测试,包括预设数据条数、输入数据内容,以及选择不同的操作(插入、删除、查找)。测试结果展示了各项操作的正确性和功能的完备性。 实验过程不仅锻炼了对线性表理论知识的理解,也强化了实际编程技能,尤其是在数据结构的应用上。通过这样的实践,学生能够更好地理解数据结构在实际问题解决中的作用,提高其解决问题的能力。