ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:195.14KB ,
资源ID:16084795      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16084795.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构实验1线性表及其应用Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构实验1线性表及其应用Word格式文档下载.docx

1、 int len; /当前元素个数 int listsize; /当前存储最大容量 SqList;/构造一个空的线性表L int InitList(SqList &L) =(ElemType *)malloc(LISTSIZE*sizeof(ElemType); if (! exit(-2); /分配空间失败 =0; =LISTSIZE;/在顺序线性表L中第i个位置之前插入新的元素e int ListInsert(SqList &L,int i,ElemType e) if (i+1) return -1; /i值不合法 if = ElemType *newelem=(ElemType *)r

2、ealloc,+CREMENTSIZE)*sizeof(ElemType); /存储空间已满,增加分配 if(!newelem) exit (-2); /分配失败 =newelem; +=CREMENTSIZE; ElemType *q=&i-1) ; for (ElemType *p=&);p=q;-p) *(p+1)=*p; /插入位置及其后的元素后移 *q=e; +; return 1;/在顺序线性表L中删除第i个元素,并用e返回其值int ListDelete(SqList &L,int i,ElemType&e) return -1; ElemType *p=&i-1); e=*p;

3、 ElemType*q=+; for (+p;pch; if(ch=I) couti; cout输入要插入的新元素:e;endl; printf(输入数据:L=(%s) ListInsert(L,%d,%c),i,e); state=ListInsert (L,i,e); else if (ch=D删除第几个元素: /删除操作L=(%s) DeleteList(L,%d,e),i); state=ListDelete(L,i,e); else goto AGAIN; /操作指示符输入错误处理endl正确结果: if(state=-1) coutERROR,L=(%s) ,; /输出结果 if(

4、ch=&state!=-1) coutnext; j=1; while(p&j +j; /寻找第i个元素 p|ji) return -1; /寻找失败 e=p-data;int ListInsert(LinkList & /在带头结点的单链线性表L中第i个元素之前插入元素e LinkList p,s; int j; p=L;j=0; while(p&i-1) p=p-+j;i-1) return -1; s=(LinkList) malloc( sizeof(LNode); s-data=e;s-next=p- p-next=s;int ListDelete(LinkList&e) /在带头结

5、点的单链线性表L中,删除第i个元素,并由e返回其值 LinkList p,q; p=L; while(p-next&i-1) (p-next)|j q=p-p-next=q- e=q-free(q);int newdata(LinkList&L,char *ch) int k; /数据初始化 gets(ch); for (k=0;chk!k+) ListInsert(L,k+1, chk); /将初始化数据插入链表L中 OK return k; /返回链表中的元素个数 char *ch; ch=(char *)malloc(100*sizeof(char); /定义数组用来辅助数据初始化 Li

6、nkList L; /头指针 LNode head; /头结点 L=&head; =null; int i,k,state; char e,CH,f; k=newdata(L,ch); /调用函数使链表数据初始化 =k; /将元素个数存入头结点的数据域 CH; if(CH=,ch,i,e); state=ListInsert(L,i,e); +; else if (CH=,ch,i); -;L=( for(int m=1;=m;m+) /一一输出数据 GetElem(L,m,f);f;) /删除操作反馈e实验结果:由于两个程序的输出模式相同,在此只列一组测试数据: L = () ListIns

7、ert (L, 1, k)L = (EHIKMOP) ListInsert (L, 9, tL = (ABCEHKNPQTU) ListInsert(L, 4, uL = () ListDelete (L, 1, e) L = (DEFILMNORU) ListDelete_Sq(L, 5, e)L = (CD) ListDelete_Sq(L, 1, e)测试过程中所注意到的问题主要还是输出与输入界面的问题,通过灵活使用cout和cin函数来不断改进。另外,在用户端看来在设计算法时程序的可重复性未考虑,显得不够人性化。时间复杂度分析:假定线性表有n个节点,顺序存储结构下,插入程序段以*(p+1)=*p作为基本操作的原操作,并讨论在最坏情况下的时间复杂度,记T(n)=O(n);删除程序段以*(p-1)=*(p)作为基本操作的原操作,并讨论在最坏情况下的时间复杂度,记T(n)=O(n)。链式存储结构下,插入程序段以p=p-next作为基本操作的原操作,并讨论在最坏情况下的时间复杂度,记T(n)=O(n);删除程序段以p=p-next作为基本操作的原操作,并讨论在最坏情况下的时间复杂度,记T(n)=O(n)。总结和感想:改进设想在于减少中间变量,优化数据初始化操作,和增加程序可重复性。具体操作完成估计就该把上述程序全面修改了,还包括算法的修改和增进。从完成该实验的

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1