void Equation::simp()
{
Monomial* p=head;
while(p)
{
if(p->next->getB()==p->getB())//如果当前项的指数和后一项相等
{
p->setA(p->getA()+p->next->getA());//则把后一项的系数加到当前项
Monomial* temp=p->next;
p->next=p->next->next;
delete temp;//并删除后一项
}
else//此处去掉else,直接p=p->next; 可以成功编译,但是只能合并两个相同的项,要是有三项相同就没办法了
p=p->next;
}
}
一个合并多项式(单链表)中两项的函数,getA()返回的是系数,getB返回的是指数。
编译能通过,运行报错“appcrash“

{
Monomial* p=head;
while(p)
{
if(p->next->getB()==p->getB())//如果当前项的指数和后一项相等
{
p->setA(p->getA()+p->next->getA());//则把后一项的系数加到当前项
Monomial* temp=p->next;
p->next=p->next->next;
delete temp;//并删除后一项
}
else//此处去掉else,直接p=p->next; 可以成功编译,但是只能合并两个相同的项,要是有三项相同就没办法了
p=p->next;
}
}
一个合并多项式(单链表)中两项的函数,getA()返回的是系数,getB返回的是指数。
编译能通过,运行报错“appcrash“
