[11]实验指导手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.
《数据结构》实验指导手册
计算机教研室
2008.6
1.实验教学的目的:通过实验,加深对算法与数据结构基本知识的理解,掌握数据结构的理论和设计技术及其使用,培养学生数据结构的设计、开发能力。
2.实验教学的要求:学生每次实验前必须根据实验指导手册,设计出实验方案(程序和实验步骤);在实验过程中要求独立进行程序调试和排错,必须学会使用在线帮助解决实验中遇到的问题,必须应用理论知识分析问题、解决问题。
3.实验内容:
实验1:VC6的使用
一、实验目的
理解和掌握如何使用Visual C++6.0环境编写C/C++程序。
二、实验环境
装有Visual C++6.0的计算机。
本次实验共计4学时。
三、实验内容
1、熟悉VC6环境
掌握如何创建控制台应用程序。
掌握一些常用快捷键,例如编译F7,运行Ctrl+F5,调试运行F5,单步运行F10/F11,设置断点F9,格式化代码Alt+F8。
2、掌握如何编译程序
理解编译过程中的错误信息,并掌握如何排错。
3、掌握如何调试程序
掌握如何通过设置断点来单步调试程序,如何查看当前变量的值。
4、实验题:
完成实验教材的实验题1.1、1.2、1.3。要求:
实现该实验结果。通过该实验题,熟悉VC6环境下的程序编写、编译、调试。
一、实验目的
(1)掌握顺序表的各种基本运算的实现。
(2)能够利用基本运算进行顺序表的操作。
二、实验环境
装有Visual C++6.0的计算机。
本次实验共计2学时。
三、实验内容
1、顺序表基本运算
实现顺序表的各种基本运算;并在此基础上设计一个主程序,完成如下功能:(1)初始化顺序表L(元素类型为char型)
(2)依次采用尾插法插入a, b, c, d, e元素
(3)输出顺序表L
(4)输出顺序表L的长度
(5)判断顺序表L是否为空
(6)输出顺序表L的第3个元素
(7)输出元素’a’的位置
(8)在第4个元素位置上插入’f’元素
(9)输出顺序表L
(10)删除顺序表L的第3个元素
(11)输出顺序表
(12)释放顺序表
提示:可以参考上课教材、实验教材的实验题2.1。
2、顺序表的应用(选做)
(1)设计通讯录(也可为其他应用)文件的存储格式和线性表的顺序存储结构(2)设计在通讯录(也可为其他应用)中添加、删除、查找某个节点信息程序(3)调试程序
一、实验目的
(1)掌握链表的概念;掌握单链表的各种基本运算的实现。
(2)能够利用基本运算进行单链表的操作。
(3)加深对链式存储数据结构的理解,逐步培养解决实际问题的编程能力。
二、实验环境
装有Visual C++6.0的计算机。
本次实验共计2学时。
三、实验内容
实现单链表的各种基本运算;并在此基础上设计一个主程序,完成如下功能:(1)初始化单链表L
(2)依次采用尾插法插入a, b, c, d, e元素
(3)输出单链表L
(4)输出单链表L的长度
(5)判断单链表L是否为空
(6)输出单链表L的第3个元素
(7)输出元素’a’的位置
(8)在第4个元素位置上插入’f’元素
(9)输出单链表L
(10)删除单链表L的第3个元素
(11)输出单链表L
(12)释放单链表L
提示:可以参考上课教材、实验教材的实验题2.2。
实验4:单链表综合实验
一、实验目的
(1)能够利用单链表的基本运算进行单链表的相关操作。
(2)掌握文件的应用
(3)加深对链式存储数据结构的理解,逐步培养解决实际问题的编程能力。
二、实验环境
装有Visual C++6.0的计算机。
本次实验共计4学时。
三、实验内容
1、通讯录设计
设计一个班级同学的通讯录,要求如下:
✓通讯录中每个同学的信息包含以下内容:学号(id)、姓名(name)、电话号码(tel)。
如果需要更多其他信息,请自行添加。
✓程序主菜单包含以下几个功能:
(1)添加记录:通过键盘输入信息,添加一条通讯录记录。
(2)删除记录:通过键盘输入学号,删除该学号的记录。
(3)输出记录:输出通讯录全部记录。
(4)按姓名查找:通过键盘输入姓名,输出该同学的所有信息。
(5)保存记录:把通讯录中所有的记录保存到文件中。
(6)清空记录:删除通讯录中的全部记录,并删除文件。
(7)退出
提示:
✓程序启动时应判断是否存在记录文件,如果存在,则读取每条记录到链表中。
✓用户选择并完成主菜单某功能后,除了退出程序,应该返回主菜单。
✓添加一条记录时,插入到链表的尾部。
✓查找、删除记录时,如果该记录不存在,则应该输出不存在的提示。
✓添加记录、删除记录时不需要写文件。
✓保存记录时,用覆盖写文件的方法。(或者先删除原文件,再保存全部记录信息)
✓各个功能模块写成函数,由主函数调用。
选做:
✓主菜单增加一个排序功能选项,可以按照学号从小到大进行排序。排序方法可以用冒泡排序或者插入排序。