网站大量收购独家精品文档,联系QQ:2885784924

数据结构第一次课内实验.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构第一次课内实验

《数据结构》课内实验报告 学生姓名: 及 学 号: 学 院: 理学院 班 级: 课程名称: 数据结构 实验题目: 实验一 顺序表的基本操作 指导教师 姓名及职称: 尚宝欣 讲 师 方 向 实验师 目 录 一、实验目的 2 二、实验内容 2 三、实验要点及说明 2 四、实现方法 2 五、实验结果 3 六、源程序清单 5 七、思考及总结 12 一、实验目的 1. 了解顺序表的结构特点及有关概念; 2. 理解顺序表的存储结构; 3. 掌握顺序表的基本操作算法。 二、实验内容 建立顺序表,完成顺序表的基本操作:初始化、插入、删除、逆转、输出、销毁, 置空表、求表长、求前驱、求后继、查找元素、判线性表是否为空。 三、实验要点及说明 四、实现方法 SeqList* L=NULL。(定义L为结构体类型的指针变量) 下面是对于算法的详细分析: 1.顺序表的初始化。 判断顺序表是否为空。-----(若顺序表为空,就为顺序表L开辟一个存储空间,以便于之后向里面输入数据,并进行各种操作。--------(若顺序表不为空,就初始化指针变量L-Data---(完成上述操作之后,就判断上一次分配存储空间时是否成功。-------(如果分配存储空间失败,就返回“空”。-------(否则,请用户输入顺序表长度,并初始化。-----(最后,返回顺序表L。 2.对顺序表的插入操作。 考察存储空间是否分配失败或者线性表的长度是否超过人为分配的总长度或者i值是否合法。-------(如果,上述条件中,要是有一个成立,就提示用户“顺序表或插入位置有问题”。并返回ERROR。--------(把插入的位置及以后的元素右移,返回OK。 3.求直接后继的操作。 考察顺序表是否为空,并考察顺序表的长度是否为0,如果为0,则不存在直接后继。--------(提示用户顺序表不存在或是为空表---------( 从第1个元素开始找,一直找到倒数第二个元素为止,因为最后一个元素必然不存在直接后继。-----(如果指定元素不存在直接后继,就终止程序。 4.求直接前驱的操作。 考察顺序表是否存在,顺序表是否为空。---------(如果上述条件有一个存在,就提示用户顺序表不存在或是为空表。---------(从第2个元素开始用顺序查找法查找,因为第一个元素必然不存在直接前驱。---------(如果查找到,就返回这个元素。---------(如果没有找到,就终止程序。 5. 查找指定位置的元素。 考察顺序表是否存在,i的值是否合法。--------(如果顺序表不存在或是为空表,就提示用户“顺序表不存在或为空表”。---------(如果,顺序表存在而且i的值合法。--------(就返回这个位置的元素。 6.顺序表的逆转操作。 考察顺序表长度是否小于等于1,小于1表示其中没有元素,等于1表示只有一个元素,不需要进行逆转。------(如果上述条件中有一个满足,就返回ERROR。-------(把第一个元素和最后一个元素调换位置,第二个元素与倒数第二个元素调换位置。。。以此类推,就可以完成逆转操作了。 7.顺序表的删除操作(按照序号) 考察i是否合法。-------(若i不合法,就提示用户,他想要删除的这个元素不存在。并返回ERROE。---------(把i之前所在位置的后面的元素统一朝左移动------(返回OK。 8.顺序表的销毁操作。 考察 L-pData是否占用空间。------(如果占用,就将其释放掉。--------(令L-pData为空。--------(将顺序表长度置为零,并返回OK。 还有就是,输出操作,置空顺序表操作等,在这里不再一一赘述,下面已经给出了详细的运行结果。 函数的调用关系: 这段程序的调用关系比较简单,就是由主函数依次调用“初始化顺序表函数”“打印顺序表函数”“插入数据操作” “打印顺序表函数”“求后继,前驱,指定位置的元素函数,并将打印顺序表函数穿插其中”“逆转顺序表”“打印顺序表函数”“删除指定序号的元素” “打印顺序表函数”“显示目前的顺序表函数” “打印顺序表函数”“判断线性表是否为空的函数” “打印顺序表函数”“置空线性表函数” “打印顺序表函数”“销毁线性表函数” “打印顺序表函数” 五、实验结果 1.下面表示的是顺序表的初始化: (图1--1) 2.下面表示的是顺序表的插入操作: (图1--2) 3.求后继: (图1--3) 4.求前驱: (图1--4) 5.求指定位置的元素: (图1--5) 6.顺序表的逆转: (图1--6) 7.删除操作: (图1--7) 8.求表长: (图1--8) 9.判断顺序表是否

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档