一元多项式简单的计算器(数据结构C++)。 只求大神写下减法代码。 我已经给出了加法代码,在此基础。

voidaddPoly(Polynomial&A,Polynomial&B){//A和B为多项式A(x)和B(x)头指针//利用两个多项式结点构成“和多项式”,其头指针仍... void addPoly( Polynomial &A, Polynomial &B)
{ //A和B为多项式A(x)和B(x)头指针
//利用两个多项式结点构成“和多项式”,其头指针仍然为A
Polynomial pa=A; //指针pa始终指向qa的前驱结点
Polynomial qa=A->link;
Polynomial pb=B; //指针pb始终指向qb的前驱结点
Polynomial qb=B->link;
Polynomial temp;
while(qa&&qb)
{
if(qa->exp<qb->exp) //第一种情况
{
pa=qa;
qa=qa->link;
}
else if(qa->exp>qb->exp) //第二种情况,将结点qb插入到qa之前
{
temp=qb->link;
pa->link=qb;
qb->link=qa;
pa=qb;
qb=temp; //在多项式链表B中移走了一个结点到A
pb->link=qb;
}
else //第三种情况
{ //指数相同,则系数相加
qa->coef=qa->coef+qb->coef;
if(qa->coef==0) //系数为0.删除结点qa
{
pa->link=qa->link;
delete qa;
qa=pa->link;
}
else //系数不为0,作为结果项保留
{
pa=qa;
qa=qa->link;
}
pb->link=qb->link; //无论系数是否为0,都删除结点qb
delete qb;
qb=pb->link;
}
}
if(qb)
pa->link=qb; //将结点qb链接在表A的后面
delete B; //释放表B的头结点所占空间
}//addPoly
展开
 我来答
百度网友e362e93
2013-04-21 · 超过27用户采纳过TA的回答
知道答主
回答量:93
采纳率:0%
帮助的人:63.6万
展开全部
有了加法,减法还用写吗?
直接把参数B中的所有项的系数变作相反数,然后按加法处理
多一步转换而已。
追问
菜鸟嘛,你可不可以帮我写下。。因为我实在不懂,你这么笼统地讲我有点蒙
追答
给你写一段将多项式由正变负的,后续跟加法一样
void changePoly(Polynomial &A)
{
Polynomial pa=A;
Polynomial qa=A->link;
while(qa)
{
qa->coef=-qa->coef //系数变为相反的
pa=qa;
qa=qa->link;
}
}

学计算机思想最重要,算法其次,代码最普通,当然好的代码需要你精雕细琢。
举个例子,就像制造汽车一样,思想就是提出概念车,太阳能车,燃气车,无轮车等,算法就是出设计图纸,代码就是制造工序。
多学多看多练,切勿闷头死学。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式