线性表基本操作的编程实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一线性表基本操作的编程实现
【实验目的】
线性表基本操作的编程实现
要求:
线性表基本操作的编程实现(2学时,验证型),掌握线性表的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、逆序、排序等操作,存储结构要求是链表存储结构(顺序存储结构建议作为课外实验完成),可以依次完成主要功能来体现功能的正确性,用菜单进行管理完成大部分功能,要求可以重复运行。
还鼓励学生利用基本操作进行一些更实际的应用型程序设计。
【实验性质】
验证性实验(学时数:2H)
【实验内容】
1.线性表的链表存储,实现数据插入、删除运算。
为了体现功能的正常性,同时要
编制数据输入函数和遍历函数,数据输入最好同时提供计算机自动产生数据。
2.其他建议改进的功能或细节:存储结构修改为循环链表、双向链表、循环双向链
表等。
原始数据从文本文件读入。
结果存入文本文件
【注意事项】
1.开发语言:使用C++,不能使用C。
至于是否使用对象,初期可以不用,但是建议尽量尽快使用对象。
2.可以自己增加其他功能。
3.如果是自己开发的,请在程序界面上注明 ***原创。
如果是参考他人或改编他人的,则注明:*** 参考他人版。
希望大家诚实对待自己的努力。
如果有小组,版权页上写上全组人员。
4.在实验报告中也应该如实写出哪些程序功能是自己编的,哪些是参考别人的。
5.初始成绩全部学生都是不及格,然后逐步通过提交更好的版本来刷新成绩。
实验当日仅仅是不及格变为及格。
之后通过班长全班学生提交源代码,为了方便,建议把程序做成一个cpp。
之后在实验后的三天时间内提交实验报告。
过时不候。
结合实验当时的检测,实验后源代码的检测,实验报告的书写给出当次的成绩。
分为五级制。
程序提交在实验之后的三天里可以刷新。
但是一般不应该超过二次。
提交的程序必须要语法正确的。
目前由于老师的审查平台是c++
6.0,所以为了统一起见,不接受其他平台的开发系统。
程序名一律类似为:
T423-2-17-翁靖凯-链表实验程序.cpp
所有信息之间为中横线。
如果有文本文件,也是类似的结构:
T423-2-17-翁靖凯-链表实验程序输入数据.txt
T423-2-17-翁靖凯-链表实验程序输出数据.txt
6.机房可能计算机不够,个别人自己的计算机特别好,可以申请在寝室做,但是必须先备案,否则算缺勤。
最多不能超过十个人。
先申请的为准。
也可以到旁边的大机房上机。
7.班长负责全班的考勤和一般事务管理,协调,务必早些到场,最后离场,地点:等待
通知。
找看门的师傅开门。
请组织几名乐意帮助同学的人,组成学生辅导小组,帮助其他稍差的学生赶上来,尽快度过初期的困难阶段。
辅导小组的学生做的好的,将来在平时成绩上将考虑加分。
书写报告需要按照以下几个大的方面来阐述:相关理论与示意图、总体设计、细节设计、界面截图、开发过程综述(花费时间、语句数、调试过程、重大收获),开发总结。
重点源码清单。
致谢。
等
【思考问题】
1.线性表的顺序存储和链表存储的差异?优缺点分析?
2.那些操作引发了数据的移动?
3.算法的时间效率是如何体现的?
4.链表的指针是如何后移的?如何加强程序的健壮性?
【运行效果范例】
以下是建议,并不是强制的要求,大家可以发挥自己的聪明才智。
链表基本功能菜单
作者:***(部分原创版)
==========
1.输入数据(源程序内部用数组提供5个原始数据)
2.显示数据(遍历链表中全部数据)
3.修改数据(要求提供位置和新值)
4.插入数据(要求提供位置和新值)
5.删除数据(要求提供位置)
6.读取数据(要求提供位置)
7.求表长度(求出元素个数)
8.数据反转(全部数据反向存储)
9.结束程序
==========
请输入您的选择:1
链表中的全部数据为: Headp-> [ 11 |-]->[ 22 |-]->[ 33 |-]->[ 55 |-]->[ 66 |^]
建立链表操作成功!请按任意键继续...
链表基本功能菜单
作者:马春江
==========
1.输入数据(源程序内部用数组提供5个原始数据)
2.显示数据(遍历链表中全部数据)
3.修改数据(要求提供位置和新值)
4.插入数据(要求提供位置和新值)
5.删除数据(要求提供位置)
6.读取数据(要求提供位置)
7.求表长度(求出元素个数)
8.数据反转(全部数据反向存储)
9.结束程序
==========
请输入您的选择:2
链表中的全部数据为: Headp-> [ 11 |-]->[ 22 |-]->[ 33 |-]->[ 55 |-]->[ 66 |^]
链表遍历操作成功!请按任意键继续...
链表基本功能菜单
作者:马春江
==========
1.输入数据(源程序内部用数组提供5个原始数据)
2.显示数据(遍历链表中全部数据)
3.修改数据(要求提供位置和新值)
4.插入数据(要求提供位置和新值)
5.删除数据(要求提供位置)
6.读取数据(要求提供位置)
7.求表长度(求出元素个数)
8.数据反转(全部数据反向存储)
9.结束程序
==========
请输入您的选择:3
请输入要修改数据的位置:1
请输入要修改的新数据:999
修改操作成功!请按任意键继续...
链表基本功能菜单
作者:马春江
==========
1.输入数据(源程序内部用数组提供5个原始数据)
2.显示数据(遍历链表中全部数据)
3.修改数据(要求提供位置和新值)
4.插入数据(要求提供位置和新值)
5.删除数据(要求提供位置)
6.读取数据(要求提供位置)
7.求表长度(求出元素个数)
8.数据反转(全部数据反向存储)
9.结束程序
==========
请输入您的选择:4
请输入要插入数据的位置:2
请输入要插入的新数据:888
插入操作成功!请按任意键继续...
链表基本功能菜单
作者:马春江
==========
1.输入数据(源程序内部用数组提供5个原始数据)
2.显示数据(遍历链表中全部数据)
3.修改数据(要求提供位置和新值)
4.插入数据(要求提供位置和新值)
5.删除数据(要求提供位置)
6.读取数据(要求提供位置)
7.求表长度(求出元素个数)
8.数据反转(全部数据反向存储)
9.结束程序
==========
请输入您的选择:5
请输入要删除数据的位置:3
删除操作成功!请按任意键继续...
链表基本功能菜单
作者:马春江
==========
1.输入数据(源程序内部用数组提供5个原始数据)
2.显示数据(遍历链表中全部数据)
3.修改数据(要求提供位置和新值)
4.插入数据(要求提供位置和新值)
5.删除数据(要求提供位置)
6.读取数据(要求提供位置)
7.求表长度(求出元素个数)
8.数据反转(全部数据反向存储)
9.结束程序
==========
请输入您的选择:2
链表中的全部数据为: Headp-> [ 999 |-]->[ 888 |-]->[ 33 |-]->[ 55 |-]->[ 66 |^]
链表遍历操作成功!请按任意键继续...
链表基本功能菜单
作者:马春江
==========
1.输入数据(源程序内部用数组提供5个原始数据)
2.显示数据(遍历链表中全部数据)
3.修改数据(要求提供位置和新值)
4.插入数据(要求提供位置和新值)
5.删除数据(要求提供位置)
6.读取数据(要求提供位置)
7.求表长度(求出元素个数)
8.数据反转(全部数据反向存储)
9.结束程序
==========
请输入您的选择:6
请输入要读取数据的位置:3
读取的数据为:33
读取操作成功!请按任意键继续...
链表基本功能菜单
作者:马春江
==========
1.输入数据(源程序内部用数组提供5个原始数据)
2.显示数据(遍历链表中全部数据)
3.修改数据(要求提供位置和新值)
4.插入数据(要求提供位置和新值)
5.删除数据(要求提供位置)
6.读取数据(要求提供位置)
7.求表长度(求出元素个数)
8.数据反转(全部数据反向存储)
9.结束程序
==========
请输入您的选择:7
链表目前的长度为: 5
求链表长度操作成功!请按任意键继续...
链表基本功能菜单
作者:马春江
==========
1.输入数据(源程序内部用数组提供5个原始数据)
2.显示数据(遍历链表中全部数据)
3.修改数据(要求提供位置和新值)
4.插入数据(要求提供位置和新值)
5.删除数据(要求提供位置)
6.读取数据(要求提供位置)
7.求表长度(求出元素个数)
8.数据反转(全部数据反向存储)
9.结束程序
==========
请输入您的选择:8
链表所有元素反转操作成功!请按任意键继续...
链表基本功能菜单
作者:马春江
==========
1.输入数据(源程序内部用数组提供5个原始数据)
2.显示数据(遍历链表中全部数据)
3.修改数据(要求提供位置和新值)
4.插入数据(要求提供位置和新值)
5.删除数据(要求提供位置)
6.读取数据(要求提供位置)
7.求表长度(求出元素个数)
8.数据反转(全部数据反向存储)
9.结束程序
==========
请输入您的选择:2
链表中的全部数据为: Headp-> [ 66 |-]->[ 55 |-]->[ 33 |-]->[ 888 |-]->[ 999 |^]
链表遍历操作成功!请按任意键继续...
链表基本功能菜单
作者:马春江
==========
1.输入数据(源程序内部用数组提供5个原始数据)
2.显示数据(遍历链表中全部数据)
3.修改数据(要求提供位置和新值)
4.插入数据(要求提供位置和新值)
5.删除数据(要求提供位置)
6.读取数据(要求提供位置)
7.求表长度(求出元素个数)
8.数据反转(全部数据反向存储)
9.结束程序
==========
请输入您的选择:9
Press any key to continue
实验报告(学生书写处)。