欢迎来到第一文库网! | 帮助中心 第一文库网-每个人都是第一
第一文库网
全部分类
  • 研究报告>
  • 学术论文>
  • 全科教育>
  • 应用文档>
  • 行业资料>
  • 企业管理>
  • 技术资料>
  • 生活休闲>
  • ImageVerifierCode 换一换
    首页 第一文库网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    单链表的基本操作.docx

    • 资源ID:322162       资源大小:29.70KB        全文页数:8页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    扫码关注公众号登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单链表的基本操作.docx

    单链表的基本操作实验一线性表的基本操作及其应用一、实验目的1、帮助读者复习C语言程序设计中的知识。、熟悉线性表的逻辑结构。23、熟悉线性表的基本运算在两种存储结构上的实现,其中以熟悉链表的操作为侧重点。二、实验内容本次实验提供3个题目,每个题目都标有难度系数,*越多难度越大,学生可以根据自己的情况任选一个题目一:单链表的基本操作(*)问题描述实现带头结点的单链表的建立、求长度,取元素、修改元素、插入、删除等单链表的基本操作。基本要求(1)依次从键盘读入数据,建立带头结点的单链表;(2)输出单链表中的数据元素(3)求单链表的长度;(4)根据指定条件能够取元素和修改元素;(5)实现在指定位置插入和删除元素的功能。【程序调试】ttinc1ude<ma11oc.h>*ma11oc()等*/inc1ude<stdio.h>*scanf(),NU11*/ttinc1ude<std1ib.h>*free()*/ttinc1ude<conio.h>/*getch()*/*函数结果状态代码*/#defineOK1defineERROROtypedefintStatus;typedefintE1emType;typedefstruct1Node(E1emTypedata;struct1Node*next;1Node,*1ink1ist;voidCreate1ist(1ink1ist*1,intn)*算法2.11*/*逆位序(插在表头)输入n个元素的值,建立带表头结构的单链线性表1*/inti;1ink1istp;*1=(1ink1ist)ma1Ioc(sizeof(struct1Node);(*1)->next=NU11;/*先建立一个带头结点的单链表*/Printf(请输入%d个数据n”,n);for(i=n;i>0;-i)(p=(1ink1ist)ma1Ioc(sizeof(struct1Node);/*生成新结点*/SCanf&p->data);/*输入元素值*/p->next=(*1)->next;/*插入到表头*/(*1)->next=p;voidCreate1ist2(1ink1ist*1,intm)*正位序(插在表尾)输入n个元素的值,建立带表头结构的单链线性表1*/inti;1ink1istp,q;*1=(1ink1ist)ma11oc(sizeof(struct1Node);/*生成头结点*/(*1)->next=NU11;q=*1;Printf(请输入%d个数据n,m);for(i=1;i<=m;i+)p=(1ink1ist)ma11oc(sizeof(struct1Node);scanf&p->data);q->next=p;q=q->next;p->next=NU11;voidPrint1ink1ist(1ink1ist1)(1Node*p;p=1->next;whi1e(p)printf(z/%dz,p->data);if(p->next)printf(,z>);p=p->next;)Printf(n");)Status1istinsert(1ink1ist1,inti,E1emTypee)*算法2.9。不改变1*在带头结点的单链线性表1中第i个位置之前插入元素e*/intj=0;1ink1istp=1,s;whi1e(pUj<i-1)/*寻找第iT个结点*/(p=p->next;J+;)if(!pIj>i-1)*i小于1或者大于表长*/returnERROR;s=(1ink1ist)ma1Ioc(sizeof(struct1Node);/*生成新结点*/s->data=e;/*插入1中*/s->next=p->next;p->next=s;returnOK;Status1istDe1ete(1ink1ist1,inti,E1emType*e)*算法2.10。不改变1*/*在带头结点的单链线性表1中,删除第i个元素,并由e返回其值*/intj=0;1ink1istp=1,q;whi1e(p->next&&j<i-1)*寻找第i个结点,并令P指向其前岖*/(p=p->next;j+;if(!p->nextj>i-1)/*删除位置不合理*/returnERROR;q=p->next;/*删除并释放结点*/p->next=q->next;*e=q->data;free(q);return0K;)int1ist1ength(1ink1ist*1)求链表长度(1Node*p;链表的单个元素指针,而不能用链表intj=0;P=1;将其指向链表的第一个元素whiIe(p->next!=NU11)+j;p=p->next;returnj;)intGetE1em(1ink1ist1,inti)(intj,e;1ink1istp=NU11;if(i<1i>1ist1ength(1)(Printf(输入的位置不合法n");return;)p=1->next;J=1;whi1e(j<i)p-p->next;j+;e=p->data;printf(第位的数据元素为%dn,i,e);voidmain()inti,n,m,v,z;1ink1ist1a,1b;E1emTypee1,e2;Printf(头插法逆位序建表n");Printf(请输入n值(即是链表长度):);SCanf("%d",&n);Create1ist(&1a,n);/*逆位序输入n个元素的值*/PrintfC1a=);/*输出链表1a的内容*/Print1ink1ist(1a);printf(n);Printf("按尾插法正序建表:n);Printf(请输入m值(即是链表长度):);scanf(,%d,z,&m);Create1ist2(&1b,m);/*逆位序输入n个元素的值*/PrintfC1b=9;/*输出链表1b的内容*/Print1ink1ist(1b);printf(n");Printf(输入在第一个链表插入的位置i=);scanf("%d",&i);printf(z,n,z);Printf(输入在第一个链表插入的元素e1=);scanf&e1);printf("n);1istinsert(1a,i,e1);Printf(在第一个链表插入后1a=");/*输出链表1a的内容*/Print1ink1ist(1a);Printf(n");Printf(按任意整数求第一个链表表长);scanf(,z%dzz,&v);1ist1ength(1a);printf(第一个链表的长度为%d,1ist1ength(1a);printf("n");Printf(在第一个链表中,请输入要取出的数的位置数);scanf("%d",&z);GetE1em(1a,z);printf(zz,z);Printf(在第一个链表中,输入删除的位置i二);scanf&i);printf(n");1istDe1ete(1a,i,&e2);Printf(删除后1a=);*输出链表1a的内容*/Print1ink1ist(1a);Printf("n");Printf(在第一个链表中,被删除的元素的值e2=%dn",e2);1ist1ength(1a);whi1e(1);)【运行结果】的人在隼一代学视SA的心=i-3输入在第一-4'峙了崎八豹兀Nz-S61.*T、梃t松后J%WS->k->7»:百仟尊专於求第一彳个表方长5一个被丁输入耍羽山转数的金史恭4布Q的他意无耳干邦在笠一小惊&u.较处除的H5,-2计产.f125->5->7->36->iaF第一个话表二.外事胜体兀素系e2,S

    注意事项

    本文(单链表的基本操作.docx)为本站会员(lao****ou)主动上传,第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第一文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 001doc.com网站版权所有   

    经营许可证编号:宁ICP备2022001085号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



    收起
    展开