数据结构实验一
1
、实验目?/p>
?/p>
掌握线性表的逻辑特征
?/p>
掌握线性表顺序存储结构的特点,熟练掌握顺序表的基本运算
2
、实验内容:
建立顺序表,完成顺序表的基本操作:初始化、插入、删除、逆转、输出、销?/p>
,
置空表?/p>
求表长、查找元素、判线性表是否为空?/p>
1
.问题描述:利用顺序?/p>
,
设计一组输入数据(假定为一组整数)
,能够对顺序表进行如?/p>
操作?/p>
?/p>
创建一个新的顺序表,实现动态空间分配的初始化;
?/p>
根据顺序表结点的位置插入一个新结点
(
位置插入
)
,也可以根据给定的值进行插?/p>
(
值插?/p>
)
,形成有序顺序表?/p>
?/p>
根据顺序表结点的位置删除一个结?/p>
(
位置删除
)
,也可以根据给定的值删除对应的
第一个结点,或者删除指定值的所有结?/p>
(
值删?/p>
)
?/p>
?/p>
利用最少的空间实现顺序表元素的逆转?/p>
?/p>
实现顺序表的各个元素的输出;
?/p>
彻底销毁顺序线性表,回收所分配的空间;
?/p>
对顺序线性表的所有元素删除,置为空表?/p>
?/p>
返回其数据元素个数;
?/p>
按序号查找,根据顺序表的特点,可以随机存取,直接可以定位于第
i
个结点,?/p>
找该元素的值,对查找结果进行返回;
?/p>
按值查找,根据给定数据元素的值,只能顺序比较,查找该元素的位置,对查找结
果进行返回;
?/p>
判断顺序表中是否有元素存在,对判断结果进行返回;
.
编写主程序,实现对各不同的算法调用?/p>
2
.实现要求:
?/p>
“初始化算法”的操作结果:构造一个空的顺序线性表。对顺序表的空间进行动?/p>
管理,实现动态分配、回收和增加存储空间?/p>
?/p>
“位置插入算法?/p>
的初始条件:顺序线性表
L
已存在,给定的元素位置为
i
,且
1
?/p>
i
?/p>
ListLength(L)+1
?/p>
操作结果:在
L
中第
i
个位置之前插入新的数据元?/p>
e
?/p>
L
的长度加
1
?/p>
?/p>
“位置删除算法”的初始条件:顺序线性表
L
已存在,
1
?/p>
i
?/p>
ListLength(L)
?/p>
操作结果:删?/p>
L
的第
i
个数据元素,并用
e
返回其值,
L
的长度减
1
?/p>
?/p>
“逆转算法”的初始条件:顺序线性表
L
已存在;
操作结果?/p>
依次?/p>
L
的每个数据元素进行交换,
为了使用最少的额外空间?/p>
对顺?/p>
表的元素进行交换?/p>
?/p>
“输出算法”的初始条件:顺序线性表
L
已存在;
操作结果:依次对
L
的每个数据元素进行输出;
?/p>
“销毁算法”初始条件:顺序线性表
L
已存在;