struct Polynomial{
int coef;
int expon;
Polynomial* next;
Polynomial(int x,int y): coef(x),expon(y),next(NULL){}
}
Polynomial* p1;
Polynomial* p2;
Polynomial* PolyAdd(Polynomial* p1,Polynomial* p2)
{
int sum;
Polynomial* rear = new Polynomial(0,0);//創建一個新結點
Polynomial* front=rear;
while(p1 && p2)
switch(Compare(p1->expon,p2->expon)){
case 1:
rear->next= new Polynomial(p1->coef,p1->expon);
rear = rear->next;
p1 = p1->next;
break;
case -1:
rear->next= new Polynomial(p2->coef,p2->expon);
rear = rear->next;
p2 = p2->next;
break;
case 0:
sum=p1->coef + p2->coef;
if(sum) rear->next = new Polynomial(sum,p1->expon);
rear = rear->next;
p1 = p1->next;
p2 = p2->next;
break;
}
if(!p1) rear->next = p2;
if(!p2) rear->next = p1;
return front->next;
兩個多項式相加(c++實現)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.