- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学号 1508020118 2015-2016 学年 第二学期
《高级语言程序设计》
课程设计报告
题 目 : 会合的运算
专 业 : 网络工程
班 级 :
15(1)
姓 名 : 邱敏
指导教师: 代美丽
成 绩 :
计算机学院
2016年 4月 22日
计算机学院 《高级语言程序设计》课程设计报告
目录
一、需求剖析 II
1、程序的实现 1
( 1)功能 1
( 2)实施 1
2、设计的要求 1
二、纲要设计 1
1、问题剖析 1
2、模块构造 2
( 1)构造剖析 2
( 2)构造剖析图 2
三、详尽设计 3
1、解题思路 3
( 1)数据构造设计 3
( 2)逻辑构造存储构造 3
2、算法设计 3
四、调试剖析和测试结果 4
1、模块剖析 4
( 1)定义单链表结点种类 4
( 2)运用尾插法成立单链表 4
( 3)成立有序链表 5
2、结果剖析 5
五、总结 6
1、解决的问题 6
( 1)会合的运算算法 6
( 2)解决方式 7
2、心得体会 7
六、参照文件(资料不得少于 5 篇) 7
I
计算机学院 《高级语言程序设计》课程设计报告
七、道谢 7
八、附录(含程序源码) 8
II
计算机学院 《高级语言程序设计》课程设计报告
一、需求剖析
1、程序的实现
(1)功能
使用链表来表示会合,达成会合的归并,求交集等操作。
2)实施
初步达成总体设计,搭好框架,确定函数个数;
达成最低要求;
持续达成进一步要求。
2、设计的要求
界面友好,函数功能要区分好;
总体设计应画流程图;
程序要加必要的说明;
要提供程序测试方案;
程序要经得起测试, 宁愿功能少一些, 也要能运行起来, 不能运行的程序是没有价值的。
二、纲要设计
1、问题剖析
该问题主要实现以下功能:
利用尾插法成立单链表;
关于输入的链表进行有序排列
删除有序链表中不切合要求的元素
调用函数对单链表进行交、并运算并输出
1
计算机学院 《高级语言程序设计》课程设计报告
2、模块构造
( 1)构造剖析
程序以用户和计算机的对话方式执行,即在计算及终端显示提示信息之后,由用户在键盘输入演示程序中规定的运算命令;相应的输入数据(过滤输入中的非法字符)和运算结果闲时间在后来。系统由以下几个模块组成,分别是:
单链表的成立
单链表的有序排列
删除单链表中不切合条件的元素
会合交集
会归并集
单链表输出
主函数
2)构造剖析图
主函数
main()
创建链表 求交集 求并集
LinkList * void jiao() void bing()
单链表结点种类
比较并保留相同
删除重复的元素
typedef struct
元素 while 语句
void shangchu()
LNode
2
计算机学院 《高级语言程序设计》课程设计报告
三、详尽设计
1、解题思路
(1)数据构造设计
创建三个带头结点的单链表 , 用来存储两个会合中的元素和最终的结果 ,
为实现会合的交、并运算功能,应以有序链表表示会合。为此,需要两个抽
象数据种类:有序表和会合。
2)逻辑构造存储构造
逻辑构造:创造一个带结点的单链表包括(头结点 L、结点若干、尾结
点);单链表中每个结点包括( *next 表示指针 data 表示域)
2、算法设计
程序执行的命令包括:
定义单链表结点种类 typedef struct LNode
运用尾插法成立单链表 void CreatListR (LinkList *L,ElemType
a[],int n )
创建头结点,为头结点分派空间
创建新结点
成立有序链表 void Sort ( LinkList *head )
将两个会合的元素进行比较while 语句
删除有序链表中的重复元素 void shanchu(LinkList *head)
(8) 求交集 void jiao (struct Lnode **L1 ,struct Lnode **L2 ,struct
Lnode **L3 )
(9)
求并集 void bing
(struct Lnode ** L1
,struct Lnode **L2
,
struct Lnode **L3
)
(10)
输出单链表 void Display
( LinkList *L
)
3
计算机学院 《高级语言程序设计》课程设计报告
四、调试剖析和测试结果
1、模块剖析
(1)定义单链表结点种类
typedef struct LNode
{ ElemType data; struct LNode *next;
} LinkList;
2)运用尾插法成立单链表
void CreatListR (LinkList*L , ElemType a[],int n )
{ LinkL
原创力文档


文档评论(0)