数据结构实验(1)线性表及其应用

上传人:工**** 文档编号:488266225 上传时间:2023-12-18 格式:DOC 页数:12 大小:212KB
返回 下载 相关 举报
数据结构实验(1)线性表及其应用_第1页
第1页 / 共12页
数据结构实验(1)线性表及其应用_第2页
第2页 / 共12页
数据结构实验(1)线性表及其应用_第3页
第3页 / 共12页
数据结构实验(1)线性表及其应用_第4页
第4页 / 共12页
数据结构实验(1)线性表及其应用_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《数据结构实验(1)线性表及其应用》由会员分享,可在线阅读,更多相关《数据结构实验(1)线性表及其应用(12页珍藏版)》请在金锄头文库上搜索。

1、计算机系数据构造实验报告(1)实验目的: 协助学生掌握线性表的基本操作在顺序和链表这两种存储构造上的实现,尤以链表的操作和应用作为重点。问题描述:1、 构造一种空的线性表。2、 在线性表L的第i个元素之前插入新的元素e;3、 在线性表L中删除第i个元素,并用e返回其值。实验规定:文法是一种四元1、 分别运用顺序和链表存储构造实现线性表的存储,并设计出在不同的存储构造中线性表的基本操作算法。2、 在实验过程中,对相似的操作在不同的存储构造下的时间复杂度和空间复杂度进行分析。算法分析:由于两种存储构造都用来创立线性构造的数据表,可采用相似的输出模式和整体构造类似的算法,如下: 实验内容和过程:顺序

2、存储构造线性表程序清单:/顺序存储构造线性表的插入删除 #inclde isream#ncude sing namespcetd;# dfineLISTSZE 100# define CMENTSIZ 10tpedef chr EemTye; /定义数据元素类型为字符型 ped srut Eemype*elem; /数据元素首地址 nt le; /目前元素个数it istiz; /目前存储最大容量SqLs;/构造一种空的线性表LinntLi(Li &L) L.lem(Eleype *)maloc(ISTZE*sizeof(Elmype));if (!L.elm) exit(); /分派空间失败

3、Llen=0;Listsiz=LISTSIZE;/在顺序线性表L中第个位置之前插入新的元素e int Listnsert(SqLs &L, i,Eleype e)f (i1|iL.en+) retn 1; /值不合法 i(L.len=Ltz) lemyp *newele=(ElemTye *)rell(Llm,(L.stizCEMENTSIZE)*sizeof(Elemype); /存储空间已满,增长分派 if(!newelem) ext(-2); /分派失败 L.elem=nee; .listsizREMENTSIZE; EemTy *q=(L.elemi-1) ; fr (leTypp=&

4、(.elLn-);=q;-p) *(p+)*; /插入位置及其后的元素后移 *q=; +L.n;retun 1; /在顺序线性表L中删除第个元素,并用e返回其值int Ltelete(SqLi&L,ini,Elmyee) if (ih;f(ch=) ou; coute; couti; coutedl; prntf(输入数据:L(%s)DeletList(L,%,e),L.elem,i); state=Listelete(L,i,e);lse goto AGAIN; /操作批示符输入错误解决coutendl对的成果:; if(sate=1) tEROR,; rintf(L=(%s),.elem)

5、; /输出成果 i(h=&stt!=1) out,e#nclud next;1; whle(&jnet;+; /寻找第个元素 if(!p|ji) return-; /寻找失败 e=p-dat; return 1; int LitInsert(LinList &L,nti,EmType e) /在带头结点的单链线性表中第i个元素之前插入元素e ikListp,s; n j; p=L;j=; whle(&jex;+j; (!p|i-1)reurn -1; =(List) al( izeof(LNode)); -ata=e;s-nex=-next; pxt=s; rn1; intListDete(L

6、ikLis&L,nti,ElemType&e) /在带头结点的单链线性表L中,删除第i个元素,并由返回其值 LinL p,; int ; =L;j=0; whl(-nex&jnt;j; if(!(pn)|ji-1) tu -1; q-ne;p-nx=q-nxt; e-ata;free(q); reurn 1; nnewaa(LinkLi&L,hr c) ntk;prinf(请输入原始数据(字符串个数99):L=); /数据初始化 gt();fr (k0;chk!=0;k+) Linrt(L,k1,hk); /将初始化数据插入链表L中 coOKH;if(H=I) cut插在第几种元素之前:; /插入操作 cini; cute;coutdl; inf(输入数据:=(%)Listsert(L,%d,%c),ch,i,e); tae=LitInser(,i,); (he.daa)+; lse f(H=) cut删除第几种元素:; /

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号