数据结构实验报告1--链表.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构实验报告1--链表

宁波工程学院电信学院计算机教研室 实验报告 课程名称: 数据结构 实验项目: 单链表的基本运算 指导教师: 实验位置: 电子楼实验室 姓 名: 学 号: 班 级: 计科102班 日 期: 2011/9/22 实验目的 1、掌握单链表的声明与使用。 2、理解和掌握单链表的各种基本运算。 3、实现单链表的运算。 二、实验环境 具有Windows XP或2003的计算机、Vistual C++ 6.0、网络环境。 三、实验内容 编写一个程序,实现单链表的各种基本运算,并且在此基础上设计一个主程序完成如下的功能: 1、初始化单链表L 2、依次采用尾插法插入a,b,c,d,e元素 3、输出单链表L 4、输出单链表L的长度 5、输出单链表L的第3个元素 6、在第L个元素的位置上插入’f’与元素 程序清单 #includestdio.h #includestdlib.h typedef struct Lnode{ char date; struct Lnode *next; }Linklist; void createlist(Linklist *L,char a[],int n){ Linklist *p,*q; int i; L=(Linklist *)malloc(sizeof(Linklist)); p=L; for(i=0;in;i++){ q=(Linklist *)malloc(sizeof(Linklist)); q-date=a[i]; p-next=q; p=q; } p-next=NULL; } void Initlist(Linklist *L){ L=(Linklist *)malloc(sizeof(Linklist)); L-next=NULL; } void Displist(Linklist *L){ Linklist *p=L-next; while(p!=NULL){ printf(%c,p-date); p=p-next; } printf(\n); } void Listlength(Linklist *L){ Linklist *p=L; int n=0; while(p-next!=NULL){ n++; p=p-next; } printf(%d\n,n); } int Getelem(Linklist *L,int i,char e){ int j=0; Linklist *p=L; while(p!=NULLji){ j++; p=p-next; } if(p==NULL) return 0; else{ e=p-date; printf(%c\n,e); return 1; } } int Listinsert(Linklist *L,int i,char e){ int j=0; Linklist *p=L,*s; while(ji-1p!=NULL){ j++; p=p-next; } if(p==NULL) return 0; else{ s=(Linklist *)malloc(sizeof(Linklist)); s-date=e; s-next=p-next; p-next=s; return 1; } } int main(void){ char a[5]={a,b,c,d,e}; Linklist *L; char e; Initlist(L); createlist(L,a,5); printf(原数据:); Displist(L); printf(原数据的长度:); Listlength(L); printf(第三个数据:); Getelem(L,3,e); printf(在第四个位置插入f后的数据表:); Listinsert(L,4,f); Displist(L); } 运行结果: 四、实验心得与小结 通过这次的上机实验,我理解并掌握了单链表的声明与使用的方法,熟悉了单链表的各种基本运算,学会并懂得了如何使用单链表实现各种基本运算,而且对链表的初始化,尾插法,输出,长度计算,插入和输出元素位置的子函数有了更深的了解和运用。 五、指导教师评议 成绩评定: 指导教师签名:

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档