- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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);
}
}
}
您可能关注的文档
最近下载
- 255-20240615+《中庸》第4讲:《行明章》.docx VIP
- 高中语文课堂情境化多模态教学策略探究教学研究课题报告.docx
- 2025深度融合AI的低代码平台.pptx VIP
- 道路桥梁工程课件培训资料.ppt VIP
- ASME B16.5-2020 管法兰和法兰管件(中文版).pdf
- 人教版PEP小学五年级英语上册教案-全册.pdf VIP
- 《第7课 冒泡排序》课件.pptx VIP
- 最新中小学校长选拔笔试试题及参考答案[教育].docx VIP
- DB62T 856-2002 无公害蔬菜番瓜(西葫芦)日光温室生产技术.pdf VIP
- TJYXFIA0002-2024 菜干团体标准.pdf VIP
文档评论(0)