- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二次报告链表分析
高级语言课程设计报告
序号 姓名 成绩 学号 E-MAIL及电话 实习题目 第二次报告: 链表
本题不在系统中提交,直接编程即可。
学习课本p358 12.8节全部内容,要求读懂程序。
完成以下内容,使用教材节点结构和主要功能代码者提供答疑。主要代码来历不明者自行解决所有疑问。
要求迭代开发,即先编写核心代码块,验证无误后再逐步添加新的功能。
要求界面友好,给出功能菜单,用户可选择下一步操作。
完成p367思考题之(1),(2),(3)
编写函数,完成在第n个节点之后增加新节点的功能,n值由键盘输入。(注意健壮性)。
编写函数,完成在第n个节点之后删除新节点的功能,n值由键盘输入。(注意健壮性)。
编写函数,删除所有数据值为奇数的节点。(注意健壮性)。
要求每次增删节点后可以显示更新后的链表元素个数及每个节点的信息。
假设两个单链表分别有序,请将两个链表合并成一个有序链表。(选做) 评阅意见:
评阅人:
2015年 月 日
1.你的代码、注释及运行结果贴图。
2.设计体会和#include stdio.h
#include stdlib.h
struct link *AppendNode(struct link *head);//添加一个链表
void DisplyNode(struct link *head);//显示更新后的链表元素个数及每个节点的信息
void DeleteMemory(struct link *head);//释放head指向的链表中,所有节点占用的内存
struct link *DeleteNode(struct link *head, int nodeData);//删除链表中的某一节点
struct link *DeletealloddNode(struct link *head);//删除链表中的所以奇数节点
struct link *AppendNodeN(struct link *head,int n);//第n个节点之后增加新节点
struct link *DeletenNode(struct link *head, int n);//第n个节点之后删除新节点
struct link
{
int data;
struct link *next;
};
int main()
{
int i = 0;
int n,m;
char c;
struct link *head = NULL; /*链表头指针*/
printf(Do you want to append a new node(Y/N)?);
scanf( %c,c); /* %c前面有一个空格*/
while (c==Y || c==y)
{
head = AppendNode(head);
DisplyNode(head); /*显示当前链表中的各节点信息*/
printf(Do you want to append a new node(Y/N)?);
scanf( %c,c); /* %c前面有一个空格*/
i++;//计数变量,用来统计新增节点的数量
}
printf(%d new nodes have been apended!\n, i);
printf(do you want add a node at any position in the list?(Y/N):);
scanf( %c,c);
if(c==Y || c==y)
{
printf(\nInput the position of the node to be added:\n);
scanf(%d,n);//n由键盘输入
head = AppendNodeN(head,n);//在链表中第n个节点后,插入一个新的节点
DisplyNode(head);
}
printf(Input the data of the node to be deleted: );
scanf(%d,m);
head = DeleteNode(head, m);//删除指定节点,数据域中的数据m由键盘输入
DisplyNode(head);
printf(\nInput the location of the node to be deleted: );
scanf(%d,n);
head = DeletenNode(head,n);//删除
您可能关注的文档
最近下载
- (完整版)名著导读《镜花缘》阅读练习及答案_6653.doc VIP
- 名著导读《镜花缘》阅读练习及答案.docx VIP
- 名著导读《镜花缘》阅读练习及答案.docx VIP
- 部编版七年级上册语文期末复习:名著导读《朝花夕拾》+《西游记》 考点练习题汇编(Word版,含答案).docx VIP
- 部编版中考语文一轮复习:七年级上册名著导读《朝花夕拾》+《西游记》练习题(含答案).pdf VIP
- 超星尔雅学习通《大学生劳动教育(合肥工业大学)》2025章节测试附答案.docx VIP
- 成人手术后疼痛评估与护理(2023中华护理学会团体标准).pptx VIP
- 《西游记》导读(含答案).doc VIP
- 西游记导读教案答案.doc VIP
- 盐与淀粉的交互作用:糊化与老化特性的深度剖析.docx VIP
文档评论(0)