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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

实验 一线性表的基本操作实现及其应用Word格式.docx

1、 L=(linklist)malloc(sizeof(list);/头结点申请内存。 if(!L) /判断有无申请到空间。 return 0; /没有申请到内存,参数失败返回0 L-next=NULL;elem=0; /单链表中有多少元素 return 1; /成功参数返回14、清空单链表 /* 函数功能:把链表清空 成功清空链表返回1 */int makeempty(linklist & linklist p,q; p=L-next; while(p) /当p非空时,删除p q=p; p=p- free(q); /只剩头指针,所以L-next=NULL /清空后链表中元素为0 /清空后返回1

2、5、求链表长度 /* 函数功能:返回链表的长度参数;函数返回链表的长度 */int getlength(linklist L) linklist p; p=L- int j=0; while(p) j+; /统计链表中元素 p=p- return j; /最后返回链表长度.6、判断链表是否为空/* 函数功能:判断链表是否为空链表为空时返回0,不为空返回1 */int isempty(linklist L) if(L-next) /头结点后有元素表示链表不空则返回1 return 1; else return 0; /头结点后没有元素表示链表不空则返回07、检查链表是否为满判断链表是否为满链表为

3、满时返回0,不为满返回1 */int isfull(linklist L)elem = MAXSIZE) /头结点的elem储存的为链表的长度。 /其小于MAXSIZE表示链表不满 /否则返回08、遍历链表遍历链表,输出每个节点的elem值通过循环逐个输出节点的elem值 */void show(linklist L) linklist p; if(isempty(L)=0) /当链表为空时则输出链表为空 cout链表为空!; while(p) /当链表为不空时则输出链表每个节点的elem值 coutelemelem=i) /判断有无元素I,有返回1 return 1; /没有找到返回010、

4、从链表中查找与给定元素值相同的元素在表中的位置 从链表中查找给定元素的位置如果链表中有给定元素i则返回元素的位置, 没有则返回0 */int location(linklist L,int i) int j=0; j+;elem=i) /判断有无元素i,有返回其的位置j return j; /没有则返回011、向链表中插入元素向链表中的某个位置插入元素链表(linklist L),位置(int i),元素(elemtype e)成功插入返回1,否则返回0 */int insert(linklist &L, int i, elemtype e) linklist p, s; int j = 0;

5、 p = L; while (p&j j +; if(ji-1|!p) /不符合条件返回0 s = (linklist)malloc(sizeof(list); /给节点s分配内存 s-elem = e;next = p- /插入操作 p-next = s;elem+; /插入完成后头结点的elem加1 /成功插入返回112、从链表中删除元素在链表中的某个位置删除元素成功删除返回1,否则返回0 */int deleteelem(linklist &L,int i) linklist p,q; int j=0; p=L; while (p-next& p=p- j+; if(j(p-next)

6、/不符合条件返回0 q=p- p-next=q- /删除操作 free(q); L-elem-; /插入完成后头结点的elem减1 return 1; /成功删除返回113、主界面函数显示所有操作功能无 */void zhujiemian() coutendla; /输入要进行的操作的序号 do switch(a) /用switch语句进行选择操作 case 1: /初始化 if(init(L)=1) cout初始化成功! else初始化失败! break; case 2: if(makeempty(L)=1) /链表置空链表已清空!链表清空失败! case 3: /链表的长度 b=getle

7、ngth(L); cout链表的长度为:bb; if(find(L,b)=1)链表中有元素链表没中有元素 case 8: /输出链表要查找元素的位置您要查找的元素为: if(location(L,b)=0)没有您要查找的元素您查找的元素在第location(L,b)bc; while (bgetlength(L)+1)/* 此处可以对错误的输入进行判断 */ cout if(insert(L,b,c)=0)您插入的位置不对,插入失败! else插入成功!是否继续插入元素(Y/y继续),其他键停止插入n/提示是否继续进行插入操作YES; while(YES=Y|YES=y); case 10:

8、if(getlength(L)=0)/判断链表是否为空若是则输出链表为空,并继续链表为空无法删除! break;输入你要删除元素的位置: while(b /输入要进行操作的序号 while(a0&a j +;p) s = (linklist)malloc(sizeof(list); s-next) if(L-next) else linklist p; p=L- if(isempty(L)=0) while(p) return j; q=p; free(q); if(p-elem=i) return 0;= MAXSIZE)/main.cpp实验一.hint main() char YES; linklist L; int a,b,c; zhujiemian(); switch(a) if(makeempty(L)=1)

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

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