当前位置:文档之家› 线性表基本操作的编程实现

线性表基本操作的编程实现

实验一线性表基本操作的编程实现【实验目的】线性表基本操作的编程实现要求:线性表基本操作的编程实现(2学时,验证型),掌握线性表的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、逆序、排序等操作,存储结构要求是链表存储结构(顺序存储结构建议作为课外实验完成),可以依次完成主要功能来体现功能的正确性,用菜单进行管理完成大部分功能,要求可以重复运行。

还鼓励学生利用基本操作进行一些更实际的应用型程序设计。

【实验性质】验证性实验(学时数:2H)【实验内容】1.线性表的链表存储,实现数据插入、删除运算。

为了体现功能的正常性,同时要编制数据输入函数和遍历函数,数据输入最好同时提供计算机自动产生数据。

2.其他建议改进的功能或细节:存储结构修改为循环链表、双向链表、循环双向链表等。

原始数据从文本文件读入。

结果存入文本文件【注意事项】1.开发语言:使用C++,不能使用C。

至于是否使用对象,初期可以不用,但是建议尽量尽快使用对象。

2.可以自己增加其他功能。

3.如果是自己开发的,请在程序界面上注明 ***原创。

如果是参考他人或改编他人的,则注明:*** 参考他人版。

希望大家诚实对待自己的努力。

如果有小组,版权页上写上全组人员。

4.在实验报告中也应该如实写出哪些程序功能是自己编的,哪些是参考别人的。

5.初始成绩全部学生都是不及格,然后逐步通过提交更好的版本来刷新成绩。

实验当日仅仅是不及格变为及格。

之后通过班长全班学生提交源代码,为了方便,建议把程序做成一个cpp。

之后在实验后的三天时间内提交实验报告。

过时不候。

结合实验当时的检测,实验后源代码的检测,实验报告的书写给出当次的成绩。

分为五级制。

程序提交在实验之后的三天里可以刷新。

但是一般不应该超过二次。

提交的程序必须要语法正确的。

目前由于老师的审查平台是c++6.0,所以为了统一起见,不接受其他平台的开发系统。

程序名一律类似为:T423-2-17-翁靖凯-链表实验程序.cpp所有信息之间为中横线。

如果有文本文件,也是类似的结构:T423-2-17-翁靖凯-链表实验程序输入数据.txtT423-2-17-翁靖凯-链表实验程序输出数据.txt6.机房可能计算机不够,个别人自己的计算机特别好,可以申请在寝室做,但是必须先备案,否则算缺勤。

最多不能超过十个人。

先申请的为准。

也可以到旁边的大机房上机。

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.结束程序==========请输入您的选择:9Press any key to continue实验报告(学生书写处)。

相关主题