实验二_线性表和应用(III).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

文档评论(0)

182****2200 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档