-1-计算机系数据结构实验报告(1)实验目的:帮助学生掌握线性表的基本操作在顺序和链表这两种存储结构上的实现,尤以链表的操作和应用作为重点
问题描述:1、构造一个空的线性表L
2、在线性表L的第i个元素之前插入新的元素e;3、在线性表L中删除第i个元素,并用e返回其值
实验要求:文法是一个四元1、分别利用顺序和链表存储结构实现线性表的存储,并设计出在不同的存储结构中线性表的基本操作算法
2、在实验过程中,对相同的操作在不同的存储结构下的时间复杂度和空间复杂度进行分析
算法分析:由于两种存储结构都用来创建线性结构的数据表,可采用相同的输出模式和整体结构类似的算法,如下:实验内容和过程:顺序存储结构线性表程序清单://顺序存储结构线性表的插入删除#include#include-2-usingnamespacestd;#defineLISTSIZE100#defineCREMENTSIZE10typedefcharElemType;//定义数据元素类型为字符型typedefstruct{ElemType*elem;//数据元素首地址intlen;//当前元素个数intlistsize;//当前存储最大容量}SqList;//构造一个空的线性表LintInitList(SqList&L){L
elem=(ElemType*)malloc(LISTSIZE*sizeof(ElemType));if(
elem)exit(-2);//分配空间失败L
len=0;L
listsize=LISTSIZE;}//在顺序线性表L中第i个位置之前插入新的元素eintListInsert(SqList&L,inti,ElemTypee){if(iL
len+1)return-1;//i值不合法if(L
len>=L
listsize){ElemType*newelem=(ElemType*)