数据结构-多项式相乘.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文档。上传文档
查看更多
数据结构-多项式相乘

多项式相乘 问题描述 此程序解决的是一元多项式相乘的问题。定义两个一元多项式,然后进行两个一元多项式的相乘。最后得到一个结果,并按升幂输出最终的多项式。 设计思路 定义一个结构体,里面包含一元多项式的符号、系数、指数。对多项式进行输入时,先输入多项式的项数,然后从第一项的系数开始输入,然后输入第一项的指数,直至第一项输入完毕。然后开始输入第二项,输入第二项的方法与输入第一项的方法相同。在进行相乘时,用第二项的每个元素去乘第一项的每个元素。最终合并同类项的时候,把后面指数项加到与前面有共同指数的项的上面,然后删除该项。 数据结构设计 将多项式因子的符号、系数、指数封装成一个结构为顺序表类型 功能函数设计 void sort(LinkYinzi Head)排序函数,采用冒泡排序对多项式进行排序 void PrintList(const LinkYinzi Head)输出多项式函数 void Creat_List(LinkYinzi Head, int num)创建多项式函数 void DelList(LinkYinzi Head, int n)删除多项式中某一项函数 void multip(const LinkYinzi Head1, const LinkYinzi Head2)多项式相乘函数 void menu_elect( LinkYinzi Head1, LinkYinzi Head2)功能选择函数 程序代码 #include iostream using namespace std; typedef struct Yinzi{ char sign; float coef;//系数 int expn;//指数 Yinzi* next; }Yinzi,*LinkYinzi; void sort(LinkYinzi Head){ LinkYinzi Q;//采用冒泡排序对多项式进行排序 for(LinkYinzi P1 = NULL; P1 != Head-next-next; P1 = Q) for(LinkYinzi P2 = Head-next; P2-next != P1; P2 = P2-next){ if(P2-expn P2-next-expn){ int temp1; double temp2; char temp3; //temp3是交换变量 temp2 = P2-coef; P2-coef = P2-next-coef; P2-next-coef = temp2; temp3 = P2-sign; P2-sign = P2-next-sign; P2-next-sign = temp3; temp1 = P2-expn; P2-expn = P2-next-expn; P2-next-expn = temp1; } Q = P2-next;//此处让Q为本次执行后的P2的下一个,以便P1=Q让P1成为P2的下一个,作为下一次循环的结束标志。 } }//冒泡排序(升序) void PrintList(const LinkYinzi Head){ LinkYinzi p = Head -next; if(p != NULL ){ if(p-coef != 0){//系数不为0 if(p-expn != 0){//指数不为0 if(p-expn != 1){ if(p-coef == 1) cout x^ p-expn; else cout p-coef x^ p-expn; } else{ if(p-coef == 1) cout x; else cout p-coef x; } } else cout p-coef; } p = p-next; }//输出第一项 while(p != NULL){ if(p-sign == +){ if(p-coef != 0){ if(p-expn != 0){ if(p-expn != 1){ if(p-coef == 1) cout + x^ p-expn; else cout + p-coef x^ p-expn; } else{ if(p-coef == 1) cout +

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档