多項式計算也就是在動用鍊錶 鍊錶中存下多項式的係數和指數 使鍊錶之間進行運算
加法: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...