欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

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

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

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

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

    1 .实验题目:将单链表按基准划分。2 .实验项目目的:掌握单链表的应用和算法设计。3 .实验项目的程序结构(程序中的函数调用关系图):IJL4 .实验项目包含的各个文件中的函数的功能描述:SPlit(LinkList*&L,EIemTyPex):将单链表中所有数据结点按X进行划分。5 .算法描述或流程图:开始;初始化单链表L;创建单链表LXcbdehgf'输出单链表L;以d进行划分;输出单链表L;销毁单链表L5初始化单链表F;创建单链表F"acbedhgf"输出单链表F;以d进行划分;输出单链表F;销毁单链表F;结束;6 .实验数据和实验结果分析:实验数据:acbdehgf;acbedhgfL:bcadehgfFlacbedhgf以d进行划分F:bcaedhgfProcessexitedafter0.1457secondswithreturnvalue0请按任意键继续.结果分析:由于使用对大于d的数据使用尾插法建表,若比d大的数据在d的前面,划分后仍会在d的前面,该函数只能划分没有这种情况的链表。7 .实验体会:应用单链表数据时,需要透彻理解指针的用法,不然很容易出错。8 .程序清单:#include<stdio.h>#include<malloc.h>typedefcharEIemType;typedefstructLNOde定义单链表结点类型EIemTypedata;structLNode*ne×t;LinkList;voidCreateListF(LinkList*&L,ElrmTyPeazintn)头插法建表(LinkList*s;L=(LinkList*)malloc(sizeof(LinkList);L->next=NULL;for(inti=O;i<n;i+)(s=(LinkList*)malloc(sizeof(LinkList);s->data=ai;s->next=L->next;L->next=s;)voidCreateListR(LinkList*&L,日emTypeazintn)(LinkList*s,*r;L=(UnkList*)malloc(sizeof(LinkList);L->next=NULL;r=L;for(inti=0;i<n;i+)(s=(LinkList*)malloc(sizeof(LinkList);s->data=ai;r->next=s;r=s;r->next=NULL;)voidlnitList(LinkList*&L)初始化线性表(L=(LinkList*)malloc(sizeof(LinkList);创建头结点L->next=NULL;)voidDestroyList(LinkList*&L)销毁线性表(LinkList*p=L,*q=p->next;while(q!=NULL)(free(p);p=q;q=p->next;free(p);)boolListEmpty(LinkList*L)判线性表是否为空表(return(L->next=NULL);)intListLength(LinkList*L)求线性表的长度(LinkList*p=L;inti=0;while(p->ne×t!=NULL)(i+;p=p->next;)return;)voidDiSPLiSt(LinkLiSt*L)输出线性表(LinkList*p=L->next;while(p!=NULL)printf("%c",p->data);p=p->next;printf("n");)boolGetElem(LinkList*L,intizElemType&e)求线性表中某个数据元素值(intj=0;LinkList*p=L;/p指向头节点J置为0(即头节点的序号为0)while(j<i&&p!=NLL)找第i个节点j+;p=p->next;)if(P=NULL)不存在第i个数据节点,返回0returnfalse;else存在第i个数据节点,返回1e=p->data;returntrue;intLocateElem(LinkList*L,日emTypee)按元素值查找inti=l;LinkList*p=L->ne×t;/p指向开始节点,i置为1(即开始节点的序号为1)while(p!=NULL&&p->data!=e)查找data值为e的节点,其序号为ip=p->next;i+;)if(P=NULL)不存在元素值为e的节点,返回0return(0);else存在元素值为e的节点,返回其逻辑序号ireturn(i);)boolListlnsert(LinkList*&L,inti,ElemTypee)插入数据元素(intj=0;LinkList*p=Lz*s;/p指向头节点,j置为0(即头节点的序号为0)while(j<i-l&&p!=NULL)查找第i-1个节点j+;p=p->next;if(P=NULL)未找到第il个节点,返回falsereturnfalse;else找到第i-1个节点*p,插入新节点并返回1s=(LinkList*)malloc(sizeof(LinkList);s->data=e;创建新节点*s,其data域置为es->next=p->next;将*s插入到*p之后p->next=s;returntrue;)boolListDelete(LinkList*&L,inti,EIemType&e)删除数据元素(intj=0;LinkList*p=L,*q;/p指向头节点,j置为。(即头节点的序号为0)while(j<i-l&&p!=NULL)查找第i-1个节点j+;p=p->next;if(P=NULL)未找到第i-1个节点,返回falsereturnfalse;else找到第i-1个节点*pq=p->next;q指向第i个节点if(q=NLL)若不存在第i个节点,返回falsereturnfalse;e=q->data;p->next=q->ne×t;从单链表中删除*q节点free(q);释放*q节点returntrue;返回true表示成功删除第i个节点)voidSplit(LinkList*&L,EIemTyPex)(LinkList*p=L->nextz*q,*r;L->next=NULL;初始化L为空链表r=L;/r是新链表的尾结点指针while(p!=NULL)(if(p->data<x)若p结点值小于x,使用头插法插入到开头(q=p->next;p->next=L->ne×t;L->next=p;if(p->next=NULL)(r=P;)p=q;else(r->next=p;r=p;p=p->next;)r->next=NULL;)intmain()LinkList*L;EIemTypea="acbdehgf"intn=8;CreateListR(Lza,n);printf("L:");DispList(L);EIemTypex=,d'Printf("以c进行划分n,1,x);Spit(L,x);printf("L:");DispList(L);DestroyList(L);LinkList*F;EIemTypeb="acbedhgf,;CreateListR(F,b,n);printf("F:");DispList(L);EIemTypey='d,;Printf("以c进行划分n,1,y);Spit(F,y);Printf(E)DispList(F);DestroyList(F);return0;

    注意事项

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

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




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

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

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

    收起
    展开