- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单链表的基本操作C语言课程设计.
课程设计(论文)
题 目 名 称 单链表的基本操作
课 程 名 称 C语言程序课程设计
学 生 姓 名
学 号
系 、专 业 信息工程系、网络工程专业
指 导 教 师 成娅辉
2013年 6月 6 日
目 录
1 前言 3
2 需求分析 3
2.1 课程设计目的
2.2 课程设计任务
2.3 设计环境
2.4 开发语言
3 分析和设计 3
3.1 模块设计
3.2 系统流程图
3.3 主要模块的流程图
4 具体代码实现 9
5 课程设计总结 12
5.1 程序运行结果 5.2 课程设计体会 参考文献 13
致 谢 13
1 前言
我们这学期学习了开关语句,循环语句、链表、函数体、指针等的应用,我们在完成课程设计任务时就主要用到这些知识点,本课题是单链表的简单操作,定义四个子函数分别用来创建链表、输出链表、插入数据以及删除数据,主函数中主要用到开关语句来进行选择调用哪个子函数,下面就是课程设计的主要内容。
2 需求分析
2.1 课程设计目的
学生在教师指导下运用所学课程的知识来研究、解决一些具有一定综合性问题的专业课题。通过课程设计(论文),提高学生综合运用所学知识来解决实际问题、使用文献资料、及进行科学实验或技术设计的初步能力,为毕业设计(论文)打基础。
2.2 课程设计任务
输入一组正整数,以-1标志结束,用函数实现:(1)将这些正整数作为链表结点的data域建立一个非递减有序的单链表,并输出该单链表;(2)往该链表中插入一个正整数,使其仍保持非递减有序,输出插入操作后的单链表;(3)删除链表中第i个结点,输出删除操作后的单链表,i从键盘输入。
2.3 设计环境
(1)WINDOWS 7系统
(2)Visual C++
)typedef struct node
{int data;
struct node *next;
}NODE;
定义函数NODE *create_llist_sorted(),用来创建非递减有序带头结点的单链表,定义四个指针NODE*h,*p,*q,*s,头指针指向第一个结点,并且分配空间给头指针h,使头指针不为空,*p指向单链表中某一结点,*q指向*p的前驱,*s指向输入的数据,将数据逐个输入,将输入的数据通过循环语句不断进行比较,其中先使*q指向*h所指位置,*p指向*h的下一个位置,不断将输入的每一个数据与链表中的数据相比较,找到插入位置,然后移动*p,*q,直到*p为空指针且*s所指数据小于等于*p所指数据,从而使数据有序,最后返回头指针。详细程序见后文中的具体代码实现。
定义函数void output(),用来输出头指针h所指的单链表,因为此链表有头结点, 所以定义一个指针NODE *p,*p指向h的下一个位置,不断地将*p所指数据输出并且移动*p,直到*p为空指针。详细程序见后文中的具体代码实现。
定义函数void insert(NODE *h, int x),使元素x插入到单链表h中之后链表中数据仍有序,定义三个指针NODE *p,*q,*m,*q指向头指针所指位置,*p指向*q的下一个位置,*m指向要插入的数据x,将数据插入链表中去后将数据不断进行比较,直至*p为空指针且*m所指数据小于等于*p所指数据,移动*p,*q,使数据仍然有序。详细程序见后文中的具体代码实现。
定义函数NODE *del(NODE *h, int i),用于删除单链表h中第i个结点,定义两个指针*p,*q,用指针p来从第一个结点开始查找需要删除的结点,指针q是指针p的前驱,查找过程中,不断移动指针p,q,直至找到需要删除的结点,如果*p为空指针,则表示链表中没有需要删除的结点,最后返回头指针。详细程序见后文中的具体代码实现。
主函数主要是采用开关分支语句对几个子函数进行调用。
3.2系统模块流程图
N
Y
N
Y
N
Y
N
Y
N
Y
Y
图3.1系统模块流程图
3.3主要模块的流程图
(1)输出函数流程图(如图3.2)
N
Y
图3
您可能关注的文档
- 关于大学生信用卡消费的调查报告..doc
- 关于开展社区两委班子党员结对帮扶困难群众活动的实施方案..doc
- 关于成立XX教育培训中心的可行性报告(申请)..doc
- 关于教师备课模式改革的思考(初稿)(汪福堂)..doc
- 关于当代大学生的消费状况与消费观的调查报告..doc
- 关于微生物修复石油污染研究的文献综述..doc
- 关于新能源资本运营规划..doc
- 关于提高农村小学生口头语言表达能力的研究..doc
- 关于校园广播站建设的计划..doc
- 关于我国教育管理学发展中的五个问题..doc
- 2025年北京市中考语文试卷真题(含答案).docx
- 2025年宜昌市中考语文试卷真题(含答案及解析).docx
- 2025年湖南省郴州市中考语文试卷真题(含答案解析).docx
- 2025年常德市中考地理试卷真题(含答案解析).docx
- 2025年怀化市中考生物试卷真题(含标准答案及解析).docx
- 2025年株洲市中考生物试卷真题(含标准答案及解析).docx
- 2025年随州市中考生物、地理合卷试卷真题(含答案解析).docx
- 2025年咸宁市中考生物、地理合卷试卷真题(含答案解析).docx
- 2025年娄底市中考地理试卷真题(含答案解析).docx
- 2025年孝感市中考语文试卷真题(含答案及解析).docx
文档评论(0)