多項式之加減乘

2021-06-26 07:35:14 字數 1447 閱讀 7997

多項式計算也就是在動用鍊錶  鍊錶中存下多項式的係數和指數  使鍊錶之間進行運算  

加法:a+b的運算就等同於單鏈表的插入  使指數相同的係數相加減

減法:就是使相加法的後一項取餘然後再做加法

乘法:使其a中煉表節點與之b中煉表所以節點依次相乘  然後按順序插入進新建的鍊錶中。。

#include

#include

typedef struct s

duoxiangshi;

duoxiangshi *creat()   //建立多項式鍊錶

rear->next=null;

return head;

}int  print(duoxiangshi *p)

while(q)

printf("\n");

return 0;

}duoxiangshi * add(duoxiangshi *pa,duoxiangshi *pb)

else if(qa->expn==qb->expn)  //第乙個多項式所指的項指數等於第二個多項式所指的項指數

else              //第乙個多項式所指的項指數大於第二個多項式所指的項指數

if(qc->expn!=0)

else

free(qc);

}while(qa!=null)  //第乙個多項式有剩餘,將剩餘項插入

while(qb!=null)  //第二個多項式有剩餘,將剩餘項插入

return headc;

}duoxiangshi * jianfa(duoxiangshi *pa,duoxiangshi *pb)

pd=add(pa,h);

return pd;

}void insert(duoxiangshi *head,duoxiangshi *inpt)

else 

while(flag==0)

else  } 

if(inpt->expnexpn)//如果發現比現在的鏈節小了就插入到這個連線的前面 

if(inpt->expn==now->expn) //如果指數相等 }

}}duoxiangshi *xiangcheng(duoxiangshi*pa,duoxiangshi *pb)   //多項式相乘

if(pa==null)

pre=pre->next;

inpt=(duoxiangshi *)malloc(sizeof(duoxiangshi));

inpt->coef=pa->coef*pre->coef;

inpt->expn=pa->expn+pre->expn;

inpt->next=null;

insert(res,inpt);  //把新創立的節點插入進頭res節點中

}return res;

}jiemian()   //介面選擇函式}}

main()

多項式相加減

單鏈表多項式的相加減 include includeusing namespace std typedef struct pnodepnode,plist void creatlist plist l,int n s next q pre next s if s a 0 s na 0 break 如...

Java 用單鏈表實現多項式加減乘

用單鏈表來實現多項式的加減乘,除就不做了,如下 public class polynomial else if first null else else if current.next null current current.next public public string tostring r...

用單鏈表實現多項式加,減,乘,簡單微分

include using namespace std struct polynomial 多項式的結構體 typedef polynomial ptrtopoly typedef ptrtopoly list typedef ptrtopoly position 儲存多項式的係數和次數 typed...