欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2023年数据结构单链表实验报告.docx

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

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

    2023年数据结构单链表实验报告.docx

    洛阳理工学院实验报告系别计算机系班级学号姓名课程名称数据结构实验日期11. 7实验名称链表的基本操作成绩实验目的:熟悉掌握线性表链式存储结构,掌握与应用查找、插入、删除等基本操作 算法,训练和提高结构化程序设计能力及程序调试能力。实验条件:计算机一台,Vi s ual C+6. 0实验内容:1 .问题描述以单链表为存储结构实现以下基本操作:(1) 在第i个元素前插入一个新元素。(2) 查找值为x的某个元素。若成功,给出x在表中的位置;不成功给出提醒信息。(3) 删除第i个元素,若成功,给出提醒信息并显示被删元素的值;不成功 给出失败的提醒信息。2 .数据结构类型定义 typedef st r uct Li n kNod e dint V a 1 u e ;os t ruct LinkNo d e * Next;Node, *Li n kL i st;.模块划分(1)初始化链表:v oid I nitList (L i nk L ist * L);(2)创建链表:尾插法:in t Cr e a teF r o mTail (LinkL i st L);(3)在指定位置插入元素:int I n s L ist ( L in k List L , i n t i, i n t e );(4 )在指定位置删除元素:i n t DelLis t (LinkLi st L, int i, int *e); 返回值说明:返回ERROR插入失败,返回OK插入成功;(5)按位置查找链表元素:in t GetList(L i nkList L, int i, int * e);.具体设计void init_ 1 ink 1 i s t ( L i nkLi s t *1)/*对单链表进行初始化*/(L i nkList) ma lloc (si zeo f (Node) ) ;/*申请结点空间*/式* 1 )->nex t =NULL;/ *置为空表*/ void Crea teF r omH ead (Lin k List L) (N ode *s;«>char c;int f 1 a g= 1 ;while(flag) /*flag初值为1,当输入$时,置f lag为0,建表结束*/c= g et c h a r ();。if(c!='$')°3 s = (N ode * ) m a 1 loc ( s i zeo f (No d e) ); /* 建立新结点 s*/ 8S->d a ta=c;。s > n ext=L->next; /*将 s 结点插入表头*/。 一>n e x t=s ;oelseflag=0;)v oid C r eateFromTa i 1 (LinkL i s t L )(Node * r, * s ;0ch a r c ;1 n t flag = 1; /*设立一个标志,初值为1,当输入$ 时,flag为 0,建表结束*/。r=L ;/* r指针动态指向链表的当前表尾,以便于做尾插入,其初值指向头结点*/w h il e ( f lag)/*循环输入表中元素值,将建立新结点s插入表尾*/。c=getc h ar ();。i f (c!='$')oo 。 s= (N ode*) ma Hoc ( s i zeof (N o de); s->data= c ;。r->next= s ;。r=s;0e 1 segfla g =0;3 r>ne x t=N ULL;/*将最后一个结点的n e x t链域置为空,表达链表的结束*/。)Nod e * Ge t (Li n k L i st L, i nt i )/*在带头结点的单链表L中查找第i个结点,若找到(1 WiWn),则返回该结 点的存储位置;否则返回NULL*/(int j;N ode * p ;°P=L;° j =0;/*从头结点开始扫描* /while (p->n e xt! = NULL)&& ( j< i )(wp=p->ne x t; /大扫描下一结点 */gj + +;/*己扫描结点计数器*/)i f(i = j)«oret u rn p; /*找到了第i个结点*/ ®el s er e tur n NULL; /* 找不到,iWO 或 i>n */No d e *Loc a te( Li n kList L, Ele mType k ey)/*在带头结点的单链表L中查找其结点值等于key的结点,若找到则返回该结 点的位置P,否则返回NULL*/ (No d e *p;P=L-> n e xt; /*从表中第一个结点开始*/ owhil e (p!=NULL)if (p-> data ! =key) 叩=p >next;e 1 s e。obr e a k;/*找到结点值=key时退出循环*/retur n p;)in t I n s L is t (LinkLi s t L, i n t i, ElemType e) /*在带头结点的单链表L中第i个位置插入值为e的新结点s */ (N ode * p re, *s;int k;pre=L;k = 0 ;/*从头开始,查找第i l个结点*/wh i le(pr e !=NULL&&kV i -1)/*表未查完且未查到第i-l个时反复,找到pr e指向第i-1个*/。*pre= p r e->ne x t;ok = k+l;。/*查找第i-1结点*/oi f(! pre)/*如当前位置P r e为空表已找完尚未数到第i个,说明插入位置不合理*/。p r intf (插入位置不合理! );。re t urn ERROR;»s= ( N ode*) mall o c (s i z e of (Nod e ) ;/ *申请一个新的结点 S */®s-> d a t a=e;/*值e置入s的数据域* /as > n e x t = pre-> n ext/*修改指针,完毕插入操作*/pr e >next = s;ore t u r n 0 K;)i n t D e 1 L ist (Lin k L i s t L, int i , ElemType * e)/*在带头结点的单链表L中删除第i个元素,并将删除的元素保存到变量* e中*/(Node * p re, * r ;«»int k;op r e=L;k=0;while( p re->next!=NULL && k< i - 1)/*寻找被删除结点i的前驱结点i -1使p指向它* /(pre=pre > next;ok = k + 1 ;。 gg"*查找第i -1个结点*/0 i f (! (pre-> next)/* 即 while 循环是由于 p->ne x t = NULL 或 i<I而跳出的,而是由于没有找到合法的前驱位置,说明删除位置i不合法。*/。-print f (删除结点的位置i不合理! );return ERR 0 R;r= p re-> next;叩 r e->next= p re->n e xt->nex t ;/ *修改指针,删除结点 r*/*e = r->dat a ;r e e (r) ;/*释放被删除的结点所占的内存空间*/oprintf (成功删除结点!”);re t u rn OK;intListLe n gth(LinkList L)/*求带头结点的单链表L的长度*/(Nod e * p ;ftint j;®p=L-> next;j = 0;/*用来存放单链表的长度*/h i 1 e(p!=NULL)。叩二 p >next;gj+;Jreturn j;。/ *j为求得的单链表长度*/ 5.测试数据及结果* S JL先后入查找3、册!除。、否找3、删除。、<<endlWi H作怦一 W1 的泊 入入,作谟当痣2源雪。请.A.插3 - .中 « I警6肝 BF选吉4前入一串单字行数据.;G?BV x当前转性表为:%金叁蚩的蜂作:1、以T吉束!插入2、查找3、删除。、退出摹的 理18荤 塾F的 入入线餐 鬻5诜 语雪。语的在岁杳甥9的 £8 翼您 拿治军 >二 64 1时5选H 文坛3、册”除。、:艮中退出退出O 1" C:Win d owsSy$te m 32D ebu gC ppl.exe"请输入一串单字符数据,以M结束!56789*当前线性表为:5 6 7 8 9请选择您要的操作:1、插入2、查找3、删除0、退出3道蒯A簿要删除的数据的位置:7雪前嶷表为:5 6 7 8 9请选择您要的操作:工、插入2、查找3、删除0、退出金帮勰鹦除的数据的位置:17 8 9请选择您要的操作:1、插入2、查找3、删除。、退出实验总结:在调试的时候发现在头插法的时候出现错误,通过逻辑思考与调试,发现错误 所在,并且更改。

    注意事项

    本文(2023年数据结构单链表实验报告.docx)为本站会员(太**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开