- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
..
姓名 学号
实
验
线性表及其应用( III )
项
目
实
采用链式存储结构,两个项目选择一个项目完成:
验 1.编制一个演示集合的并、交和差运算的程序。
(具体要求见题集第
80页 1.3)
2.一元稀疏多项式的计算。要求实现多项式存储、输出显示、相加、相减、相乘。
内
(具体要求见题集第
81页1.5)
容
算法设计与程序实现:
算
法
分
析
本次实验的目的是理解和掌握线性表链式存储结构的用法。根据多项式的加法
运算法则和乘法运算法则进行多项式的运算。
程序设计流程图如下所示:
多项式加法运算程序流程
. .下载可编辑 . .
..
pa-data.coef + pb-
data.coef == 0 ?
N
Y
pc-data.coef = pa-
data.coef + pb-data.coef
pc-data.expn = pa-
data.expn
pc-next =
(Polynomial)malloc(sizeof(P
Node))pc = pc-next
pa = pa-next
pb = pb-next
开始
pa = Pa-next
pb = Pb-next
Pc=
(Polynomial)malloc(sizeo
f(PNode))
pc = Pc
pa pb == 1 ?
pa == NULL ?
N
Y
Y
N
比较多项式系数
CompareExpn_L(pa-data,
pb == NULL ?
pb-data)
Y
N
pc-next =
pc-next =
(Polynomial)malloc(sizeof
(Polynomial)malloc(sizeo
(PNode))
f(PNode))
pc = pc-next
pc = pc-next
pc-data.coef = pa-
pc-data.coef = pb-
data.coef
data.coef
pc-data.expn = pa-
pc-data.expn = pb-
data.expn
data.expn
pa = pa-next pb = pb-next
pc-next =
NULL
结束
本函数的基本思想是先对两个链表中非空的部分进行指数比较, 当指数不等时,
将指数小的数据复制到新开辟结点中,指数大的结点继续与下一个结点比较,当指数相等时,将两个结点系数合并,判断系数是否为零,若为零则不开辟新结点,否则开辟新结点复制数据。
2. 多项式乘法运算程序流程图 :
. .下载可编辑 . .
..
开始
pa = Pa-next
pb = Pb-next
Pc =
(Polynomial)malloc(sizeo
f(PNode))
pc = Pc
pa == NULL ?
Y
N
pb == NULL ?
N
pc-next =
(Polynomial)malloc(sizeof(PNode))
pc = pc-next
pc-data.coef = pa-data.coef *
pb-data.coef
pc-next =
pc-data.expn = pa-data.expn +
NULL
pb-data.expn
pb = pb-next
结束
本函数的基本思想是将用两层循环分别遍历链表,项,将乘积结果通过后续函数合并化简。
多项式链表排序流程图:
Y
pa = pa-next
pb = pb-next
用 Pa 的任一项乘以 Pb 的每一
. .下载可编辑 . .
..
开始
p = P-next
p-next != NULL ?
s = p
q = p-next
q != NULL ?
q-data.expn s-
data.expn ?
s = q
q = q-next
结束
s != p ?
coef_temp = p-data.coef
expn_temp = p-data.expn
p-data.coef = s-data.coef
p-data.expn = s-data.expn
s-data.coef = coef_temp
s-data.expn =expn_temp
p = p-next
本函数的基本思想是运用选择排序算法,首先通过外层循环确定一个位置,即
内层循环起始位置,然后用一个指针 p 遍历链表,并通过一个指针 s 指向内层循环
中数据最小的结点,最后用内层循环结束后的指针 s 与内层循环起始指针比较,不
等则交换,从而实现排序。
此程序中用到的自己编写的头文件以在下面给出,而头文件的说明则在主函数中
核
文件包含部分的注释处,核心程序如下:
主函数如下:
心 #include
stdafx.h
// 标准输入输出函数头文件
程
#include
window
您可能关注的文档
最近下载
- Web报表工具FineReport的JS API(一).pdf VIP
- Web报表工具FineReport中JavaScript的使用.docx VIP
- Web报表工具FineReport的JS API开发(二).pdf VIP
- (高清版)ZT 0142-2010 航空磁测技术规范.pdf VIP
- 肖申克的救赎经典台词肖申克的救赎经典语录中英文对照.docx VIP
- 张恩利-体育俱乐部的经营与管理(运训).ppt VIP
- 新改版教科版三年级上册科学全册知识点梳理与总结.doc VIP
- DB65T2052-2011 库尔勒香梨贮藏保鲜技术规程.pdf VIP
- Web报表工具FineReport的JS开发之字符串.pdf VIP
- 《商务英语翻译》课件——产品说明的翻译原则2.pptx VIP
文档评论(0)