- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据结构与算法》实验报告
实验序号:3 实验项目名称:链式表的操作
学 号1507112104姓 名陈忠表专业、班15商智实验地点指导教师林开标实验时间16.11.09一、实验目的及要求
1. 通过实验理解单链表的逻辑结构;
2. 通过实验掌握单链表的基本操作和具体的函数实现。
二、实验设备(环境)及要求
微型计算机;
windows 操作系统;
Microsoft Visual Studio 6.0集成开发环境。
三、实验内容与步骤
链式表表示和实现线性表的如下:
#includestdio.h
#includestdlib.h
typedef struct node //定义结点
{
int data; //结点的数据域为整型
struct node *next; //结点的指针域
}ListNode;
typedef ListNode * LinkList; // 自定义LinkList单链表类型
LinkList CreatListR1(); //函数,用尾插入法建立带头结点的单链表
ListNode *LocateNode(LinkList head, int key); //函数,按值查找结点
void DeleteList(LinkList head,int key); //函数,删除指定值的结点
void printlist(LinkList head); //函数,打印链表中的所有值
void DeleteAll(LinkList head); //函数,删除所有结点,释放内存
//==========主函数==============
void main()
{
int num;
char ch;
LinkList head;
head=CreatListR1(); //用尾插入法建立单链表,返回头指针
printlist(head); //遍历链表输出其值
printf( Delete node (y/n):); //输入y或n去选择是否删除结点
scanf(%c,ch);
if(ch==’y’) || ch==’Y’){
printf(Please input Delete_data:);
scanf(%d,num); //输入要删除的字符串
DeleteList(head,num);
printlist(head);
}
DeleteAll(head); //删除所有结点,释放内存
}
//==========用尾插入法建立带头结点的单链表===========
LinkList CreatListR1(void)
{
……
return head; //返回头指针
}
//==========按值查找结点,找到则返回该结点的位置,否则返回NULL==========
ListNode *LocateNode(LinkList head, int key)
{
……
return p; //若p=NULL则查找失败,否则p指向找到的值为key的结点
}
//==========删除带头结点的单链表中的指定结点=======
void DeleteList(LinkList head,int key)
{
//按key值查找结点的
//若没有找到结点,退出
//若找到,则从单链表中删除该结点,并释放结点
……
}
//===========打印链表,输出所有结点的值=======
void printlist(LinkList head)
{
……
}
//==========删除所有结点,释放空间===========
void DeleteAll(LinkList head)
{
……
}
实现并调试单链表的的相关算法;
2、改写以上程序,实现功能如下:
(1)编写一个删除链表中值为x的结点的直接前趋结点的算法,若有多个值为x的结点,则删除第一个x的直接前趋结点。
(2)改写CreatListR1函数,使得链表创建时为非递减有序的单链表。
(3)在算法(2)生成的非递减有序的单链表中,编写一个算法,删除单链表中值相同的多余结点。
(4)写一个对
您可能关注的文档
- 收费系统技术规范分析.doc
- 收费站施工组织设计分析.doc
- CPU升级问题处理思路讲解.pptx
- 机械加工图纸标注法以及常见问题和要求分析.ppt
- 机械课程设计一级圆柱齿轮减速器的设计专业版分析.doc
- 机械量检测及仪表分析.pptx
- 机械名词英文词汇分析.doc
- CRH380B型动车组受电弓讲解.ppt
- CRM的实施方法讲解.ppt
- 收货部经、助理时段化新分析.ppt
- 血液透析导管项目详细风险分析及评估报告.docx
- 2024-2025学年小学科学一年级上册湘科版(2024)教学设计合集.docx
- 2024-2025学年小学科学一年级下册青岛版(五四制2017秋)教学设计合集.docx
- 彩妆项目详细风险分析及评估报告.docx
- 2024-2025学年小学劳动二年级(2017)粤教版《劳动与技术》教学设计合集.docx
- 动物药代动力学研究服务项目详细风险分析及评估报告.docx
- 2024-2025学年小学劳动二年级上册湘人版《劳动实践指导手册》教学设计合集.docx
- 运算与数据处理能力课件-2025届高三数学二轮复习.pptx
- 减毒活疫苗:卡介苗项目详细风险分析及评估报告.docx
- 血液透析器项目详细风险分析及评估报告.docx
最近下载
- 内蒙古乌尼特矿业有限责任公司乌尼特煤矿接续生产环境影响报告书.doc
- 特种设备-维护保养记录(叉车-电动托盘堆垛车).docx
- 《多边形的内角和》 示范教学PPT课件【初中数学人教版八年级上册】.pptx
- 紧密型县域医疗卫生共同体消毒供应中心运营指南(2020年版 医联体建设).docx
- 泵站运行考试(高级)习题库(第1部分).pdf
- 挡土墙计算理正岩土(“挡土墙”文档)共21张.pptx
- XXXX生态风景区智慧景区项目施工组织方案及对策.pdf
- 陈培勋平湖秋月五线谱钢琴谱.pdf
- 可爱的中国教案第10课可爱的中国第十课同心共筑中国梦.docx
- 2024《S市乡镇幼儿教师职业幸福感问卷调研分析报告》9700字.docx VIP
文档评论(0)