C語言的簡單應用 陣列實現多項式

2021-08-15 11:47:17 字數 1141 閱讀 3303

/*這是乙個基於陣列實現的乙個簡單多項式結構

主要的缺點就是會浪費很大記憶體空間*/

#include #include #include #define max 100

typedef struct node

polymariol;

//把多項式初始化為0

void zero(polymariol* poly)

poly->high=0;

}//兩個多項式相加

void add(const polymariol* poly1,const polymariol* poly2,polymariol* sum)

}//兩個多項式相減,前者減去後者

void sub(const polymariol* poly1,const polymariol* poly2,polymariol* res)

}//多項式乘法

void multip(const polymariol* poly1,const polymariol* poly2,polymariol* res)

else

}}

}//按照一定格式輸出多項式

void show(polymariol* p)

printf("\n");}/*

使用兩個簡單的多項式進行測試

p1 = 1+x1+x2

p2 = 1+x1

p1+p2 = 2 + 2x2 +x2

p2-p1 = 0 + 0 -x2

p2*p1 = 1 + 2x1 + 2x2 +x3

*/int main(void)

p2->high = 1;

for(int b=0;b<=p2->high;b++)

add(p1,p2,res);

show(res);

zero(res);

sub(p2,p1,res);

show(res);

zero(res);

multip(p1,p2,res);

show(res);

//**分配的記憶體空間

free(p1);

free(p2);

free(res);

return 0;

}

多項式簡單應用

求 displaystyle sum na i cdot b i 對於求 displaystyle sum na i cdot b i 把b陣列翻轉一下,等價於求 displaystyle sum na i cdot b 這不就是乙個卷積嘛,時間複雜度 theta nlog n 你可能會說時間複雜度...

單鏈表應用 多項式實現(C )

一般用兩個類,結點類linknode和鍊錶類list,協同表示單鏈表,主要有3種方式 class list class linknode class list class list linknode first class linknode class list public linknode te...

多項式相加(C語言)

多項式相加 include include define null 0 struct poly 設定結構體 struct poly jianli void 建立鍊錶 p1 next null return head1 int list struct poly head 求鍊錶長度 return l ...