和陣列實現的思想一樣,唯一的優點就是不會浪費空間,鍊錶不懂得可以看第十四篇文章和一二篇文章
#include #include //定義多項式鍊錶儲存結構
typedef struct pnode
pnode, *polynomial;
//初始化多項式鍊錶
void initpoly(polynomial *poly)
//建立多項式,提供多項式的儲存結構和建立資料(第一儲存係數,第二個儲存次數),陣列長度
void createpoly(polynomial poly, int multiarray[2], int len)
}//兩個多項式相加
void addpoly(polynomial poly1, polynomial poly2, polynomial poly3)
else
if(tmp2 != null)
}tmp1 = tmp1 -> next;
tmp2 = tmp2 -> next; }}
//對多項式帶入職進行計算
int calculatepoly(polynomial poly, int num)
sum += tmp -> factor * n;
tmp = tmp -> next;
} return sum;
}int main(void)
,,,}; //次數為0的為常數 這個陣列轉換為多項式為 : 1 + 2x + 3x^2 + 4x^5
int len1 = sizeof(multiarray1)/sizeof(multiarray1[0]);
initpoly(&poly1);
createpoly(poly1, multiarray1, len1);
polynomial poly2;
int multiarray2[4][2] = ,,,};
int len2 = sizeof(multiarray2)/sizeof(multiarray2[0]);
initpoly(&poly2);
createpoly(poly2, multiarray2, len2);
polynomial poly3;
initpoly(&poly3);
addpoly(poly1, poly2, poly3);
int i = calculatepoly(poly3, 1);
printf("%d\n", i);
return 0;
}
一元多項式加法鍊錶實現
使用鍊錶實現一元多項式加法 並使用已有鍊錶返回運算結果 一元多項式求和 void sumlist slist a,slist b else output m output n t m next while m next null n next null else if m next exp n ne...
鍊錶實現一元多項式相加
c 鍊錶實現一元多項式相加 如下 輸入多項式按次數從高到低排列 include include using namespace std intmain 定義節點型別,coe表示x前的係數,order表示x的次數 int coe,order int i int nodenuma 多項式a的項數 pri...
鍊錶 一元多項式求導
7 1 一元多項式求導 20 分 設計函式求一元多項式的導數。以指數遞降方式輸入多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。3 4 5 2 6 1 2 0輸出樣例 12 3 10...