实验二:线性表的链式表示和实现.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文档。上传文档
查看更多
实验二:线性表的链式表示和实现

实验二:线性表的链式表示和实现 PAGE  第 PAGE3 页/共 NUMPAGES3 页 实验二:线性表的链式表示和实现 一、实验目的: 1.掌握线性表的链式存储结构的表示与实现. 2.掌握对链表进行创建、插入、删除和查找等操作的算法。 3.掌握算法的设计与分析过程。 4.进一步熟悉VC++开发环境,熟悉完成一个应用程序的设计过程,掌握有关编辑、调试和整合程序的方法和技巧。 二、实验要求: 1.采用教材中c语言描述的单链表存储结构,模块化设计过程,设计高效的算法完成各种操作任务,针对实际数据实现各种操作。 2.完成程序编写,调试成功后,书写实验报告。 三、实验任务: 1.创建有n(n为正整数)数据元素的单链表,数据从键盘输入。 2.查找第i个结点,找到返回其值,否则返回0; 3.对已经创建的单链表分别进行插入结点操作,在第i个元素之前插入1个结点。 4.删除结点,将第i个结点的元素删除。 5.将单链表进行就地逆转。 6.将链表按值的奇偶数分解成两个链表。 要求:创建单链表后,其他操作可以是任意选择进行的。(考虑设计菜单调用各功能模块) 四、设计指导: 1.结点的定义 #includestdio.h #includestdlib.h typedef int DataType; typedef struct node {DataType data; struct node *next; }LNode,*LinkList; 2.将复杂的问题分解成若干个相对容易的小问题,并设计好解决每个小问题的函数的函数名、入口参数及其返回值;设计出各个函数的程序框架及完整的主函数程序。(注:每个功能一个函数) 如: //输出链表数据 void Display(LinkList L) { LinkList p; p=L-next; while(p) { printf(%4d,p-data); p=p-next; } printf(\n); } //单链表初始化 LinkList ListInit( LinkList L) {L=(LinkList)malloc(sizeof(LNode)); L-next=NULL; return L; } //单链表的创建 LinkList ListCreate(LinkList L,int a) { int i; LinkList p; //具体操作请大家自己完成 Display(L); return L; } void ListSearch() {} //单链表插入 LinkList ListInsert(LinkList L) { LinkList p,q; p=L; //具体操作请大家自己完成 Display(L); return L; } //单链表删除 LinkList ListDelete(LinkList L) { LinkList p,q; p=L; //具体操作请大家自己完成 return L; } void main() { int i; int a,b,c; LinkList L; L=ListInit(L); while(1) { printf(*****单链表*****\n); printf(*****1.创建*****\n); printf(*****2.查找*****\n); printf(*****3.插入*****\n); printf(*****4.删除*****\n); printf(*****0.退出*****\n); printf(请输入您的选择:\n); scanf(%d,i); switch(i) { case 1: printf(请输入元素个数:\n); scanf(%d,a); ListCreate(L,a);break; case 2:ListSearch();break; case 3: ListInsert(L);break; case 4: ListDelete(L); Display(L); break; case 0:exit(0); default:printf(您的输入有误,请重新输入!\n); } } }

文档评论(0)

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

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

1亿VIP精品文档

相关文档