早教吧 育儿知识 作业答案 考试题库 百科 知识分享

一元多项式简单的计算器(数据结构C++).只求大神写下减法代码.我已经给出了加法代码,在此基础.voidaddPoly(Polynomial&A,Polynomial&B){//A和B为多项式A(x)和B(x)头指针//利用两个多项式结点构成

题目详情
一元多项式简单的计算器(数据结构C++).只求大神写下减法代码.我已经给出了加法代码,在此基础.
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->expexp) //第一种情况
{
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
▼优质解答
答案和解析
有了加法,减法还用写吗?
直接把参数B中的所有项的系数变作相反数,然后按加法处理
多一步转换而已.
看了 一元多项式简单的计算器(数据...的网友还看了以下:

真核细胞的一个基因只能编码一种蛋白质,以下说法正确的是A.它的编码序列只含一个外显子和一个内含子B  2020-04-08 …

只有50组数据(只是输入)可以训练出神经网络吗这50组数据是等价的关系,也就是属于同一类别的,只是  2020-04-26 …

在“探究动滑轮机械效率”实验中,分别测出绳受到的拉力F、钩码所受重力G,改变钩码数量再重复上述步骤  2020-05-15 …

神是什么?又是谁创造了"神"这个字的?人是怎么幻想出"神"来的?形形色色的神应该有范本的.那这些神  2020-05-17 …

手机的声控密码锁解锁时,只能由设置语音密码的人说出密码才能打开手机,这种语音密码记录的是人的声音的  2020-06-26 …

负溢原码一个加减法补码运算,如果算出来是负溢出,那么结果要不要减1再求反码,正溢出是不是不变?其实  2020-07-05 …

小刚用天平测量一铁块质量,她先把游码拨到标尺的正中央对着0.5g刻度上,然后旋动衡量右端的螺母,使  2020-07-07 …

想出来的时天才(3天内)12个砝码,其中1个是坏的砝码,现不只坏砝码的是比好砝码重还是轻,请你用3次  2020-10-30 …

小凡忘记了存包箱的密码,但他回忆出密码可能是55500000,50050005,50000505,5  2020-12-08 …

一般情况下真核细胞的一个基因只能编码一种蛋白质,以下说法正确的是()A.它的编码序列只含一个外显子和  2020-12-24 …