?? 2_22.txt
字號(hào):
void polyadd(Polylist polya, Polylist polyb)
/*此函數(shù)用于將兩個(gè)多項(xiàng)式相加,然后將和多項(xiàng)式存放在多項(xiàng)式polya中,并將多項(xiàng)式ployb刪除*/
{
Polynode *p, *q, *pre, *temp;
int sum;
p=polya->next; /*令 p和q分別指向polya和polyb多項(xiàng)式鏈表中的第一個(gè)結(jié)點(diǎn)*/
q=polyb->next;
pre=polya; /* r指向和多項(xiàng)式的尾結(jié)點(diǎn)*/
while (p!=NULL && q!=NULL) /*當(dāng)兩個(gè)多項(xiàng)式均未掃描結(jié)束時(shí)*/
{
if (p->exp < q->exp)
/*如果p指向的多項(xiàng)式項(xiàng)的指數(shù)小于q的指數(shù),將p結(jié)點(diǎn)加入到和多項(xiàng)式中*/
{
pre->next=p;
pre=p;
p=p->next;
}
else
if ( p->exp == q->exp) /*若指數(shù)相等,則相應(yīng)的系數(shù)相加*/
{
sum=p->coef + q->coef;
if (sum != 0)
{
p->coef=sum;
pre->next=p;
pre=p;
p=p->next;
temp=q;
q=q->next;
free(temp);
}
else
{
temp=p;
p=p->next;
free(temp);
/*若系數(shù)和為零,則刪除結(jié)點(diǎn)p與q,并將指針指向下一個(gè)結(jié)點(diǎn)*/
temp=q;
q=q->next;
free(temp);
}
}
else
{
pre->next=q;
pre=q; /*將q結(jié)點(diǎn)加入到和多項(xiàng)式中*/
q = q->next;
}
}
if(p!=NULL) /*多項(xiàng)式A中還有剩余,則將剩余的結(jié)點(diǎn)加入到和多項(xiàng)式中*/
pre->next=p;
else /*否則,將B中的結(jié)點(diǎn)加入到和多項(xiàng)式中*/
pre->next=q;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -