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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.结束程序

==========

相关文档
最新文档