- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
线性表的存储结构定义及基本操作
线性表
1 的存储结构和基本操作的定义。实验目的 :
。掌握线性表
的逻辑特征。掌握线性表顺序存储结构的特点。掌握序列表的基本
操作,掌握线性表的链式存储结构的定义和基本操作, 了解循环链表
和双链表
的特点和基本操作,加深对序列存储数据结构和链式存储数据结构
的理解。逐步培养解决实际问题的编程能力
2,实验内容 :
(1)基本实验内容 (序列表 ):
建立序列表,完成序列表的基本操作 :初始化、插入、删除、反转、输出、销毁、设置空表、查找表长、查找元素、判断线性表是否为空;1。问题描述 :使用序列表,设计了一组输入数据 (假设为一组整数 ),可以对序列表执行以下操作 :。创建新的序列表,实现动态空间分配
的初始化;
。根据节点在序列表中的位置插入一个新节点 (位置插入 ),或者根
据给定的值插入 (值插入 )以形成一个有序的序列表;
。根据节点在序列表中的位置删除一个节点 (位置删除 ),或者根据
给定的值删除相应的第一个节点,或者删除所有具有指定值的节点
(值删除 );
。用最小空间反转序列表元素; 。实现序列表中每个元素的输出;。彻底销毁序列线性表并回收分配的空间; 。删除顺序线性表的所有
元素,并将其设置为空表; 。返回其数据元素的数量;
。按序列号搜索。根据序列表的特点,可以在第 I 个节点随机直接访问序列表,查找元素的值并返回搜索结果。
。按值查找。根据给定数据元素的值,您只能顺序比较,找到元素的位置,并返回搜索结果。 判断序列表中是否有元素,并返回判断结果;编写主程序调用不同的算法 2.实现要求 :
对序列表运算必须写成 C(C++) 语言函数,组合成模块化形式,并且每个算法的实现必须从时间复杂度和空间复杂度两方面进行评估;
。“初始化算法 ”的运算结果 :构造一个空的序列线性表对序列表的空间进行动态管理,实现存储空间的动态分配、恢复和增加。
。“位置插入算法 ”的初始条件是 :序列线性表 L 已经存在,给定的元素位置为 1,1≤1≤列表长度 (L)+1 ;操作结果 :在 l 中的 I 位置前插入一个新的数据元素 e,并将 l 的长度加 1;
。“位置删除算法 ”的初始条件是序列线性表 L 已经存在, 1≤1≤列表长度 (L) ;操作结果 :删除 l 的第 I 个数据元素,用 e 返回其值,并将 l 的长度减 1;“反向算法 ”的初始条件是序列线性表 L 已经存在;
的运算结果 :顺序交换 L 的每个数据元素, 交换顺序表的元素以使用最少的额外空间;
1
线性表和基本运算
的存储结构定义。 “输出算法 ”的初始条件 :序列线性表 L 已经存在;
运算结果 :顺序输出 L 的每个数据元素; “销毁算法 ”初始条件 :顺序线
性表 L 已经存在;操作结果 :销毁顺序线性表 1;
“空表算法 ”初始条件 :顺序线性表 L 已经存在;操作结果 :将 L 重置为空表;
“表长算法 ”初始条件 :顺序线性表 L 已经存在;操作结果 :返回数据元素的个数,以 L 为单位;
“按序列号搜索算法 ”初始条件 :顺序线性表 L 已经存在,元素位置为
1,1≤i ≤ListLength(L)运算结果 :返回 L“按值搜索算法 ”初始条件 :顺序
线性表 L 已经存在,元素值为 e;操作结果 :返回数据元素值为 E 的
元素位置;。“表空判断算法 ”的初始条件 :顺序线性表 L 已经存在;操
作结果 :如果 l 是空表,返回真,否则返回假; ;
分析 :修改输入数据,期待输出,验证输出结果,加深对相关算法的
理解
(2)基本实验内容 (链表 ):
建立一个链表来完成链表 (带标题的节点 )的基本操作 :建立链表、插
入、删除、搜索、输出、查找前导、查找后继和合并两个有序链表
的其他基本操作包括销毁链表、将链表设置为空表、查找链表的长
度、获取某个位置的节点内容以及搜索节点 1.问题描述 :
使用线性表的链式存储结构来设计一组输入数据 ( 假设是一组整
数),它可以对单个链表执行以下操作 :。用标题节点初始化空链表;
。创建单个链表就是从头创建一个链表,即逐个输入每个节点的数
据,并建立前后链接的关系。它也分为输入 N 个元素值的逆序 (插入表头 )和输入 N 个元素值的正序 (插入表尾 )。
。插入的节点可以根据给定的位置插入 (位置插入 ),或者它们可以根据节点的值插入到已知的链表中 (值插入 ),并且节点的数据保持原始的升序以形成有序的链表
。删除节点可以根据给定的位置删除 (位置删除 ),也可以删除链表
中所有值为搜索对象的节点 (值删除 );
。输出单个链表的内容是显示链表中每个节点的数据,直到链表的
最后一个节点;编写主程序调用不同的算法其他运算算法的描述
2.
实现要求 :
对链表的每
原创力文档


文档评论(0)