C語言單向鍊錶應用之多項式建立,遍歷,相加

2021-10-07 09:19:49 字數 3005 閱讀 6886

#include

#include

struct node

;//簡寫

typedef

struct node node;

//函式的宣告

node *

creatlist()

;void

dislist

(node *head)

;int

main

(int argc,

char

const

*ar**)

/** * 建立多項式鍊錶

* 使用者輸入多項式每一項的係數和指數,只要二者不同時為0,則一直接收使用者輸入

* @return node* 返回建立好的鍊錶的頭指標

*/node *

creatlist()

//如果不是頭指標,則把當前結點鏈結在先前結點後面

else

//先前結點變為當前結點

previous = current;

printf

("請輸入係數和指數: ");

scanf

("%f,%d"

,&codf,

&exp);}

return head;

}/**

* 多項式鍊錶的遍歷

* 輸入多項式的每乙個元素

* @node *head, 需要遍歷鍊錶的頭指標

*/void

dislist

(node *head)

p = p->next;

}}

請輸入係數和指數:0,

1請輸入係數和指數:1,

0請輸入係數和指數:1,

1請輸入係數和指數:1,

2請輸入係數和指數:1,

3請輸入係數和指數:0,

00.00 x^1+

1.00 x^0+

1.00 x^1+

1.00 x^2+

1.00 x^

3

#include

#include

struct node

;//簡寫

typedef

struct node node;

typedef node *polynomial;

//函式的宣告

node *

creatlist()

;void

dislist

(node *head)

;void

attach

(float c,

int e, polynomial *prear)

;int

compare

(float a,

float b)

;polynomial polyadd

(polynomial p1, polynomial p2)

;int

main

(int argc,

char

const

*ar**)

/** * 建立多項式鍊錶

* 使用者輸入多項式每一項的係數和指數,只要二者不同時為0,則一直接收使用者輸入

* @return node* 返回建立好的鍊錶的頭指標

*/node *

creatlist()

//如果不是頭指標,則把當前結點鏈結在先前結點後面

else

//先前結點變為當前結點

previous = current;

printf

("請輸入係數和指數: ");

scanf

("%f,%d"

,&codf,

&exp);}

return head;

}/**

* 多項式鍊錶的遍歷

* 輸入多項式的每乙個元素

* @node *head, 需要遍歷鍊錶的頭指標

*/void

dislist

(node *head)

p = p->next;}}

polynomial polyadd

(polynomial p1, polynomial p2)

break;}

}//推出迴圈後不是p1為空,就是p2為空

for(

;p1;p1 = p1->next)

attach

(p1->coef, p1->exp,

&rear)

;for

(;p2;p2 = p2->next)

attach

(p2->coef, p2->exp,

&rear)

;//收尾工作

rear->next =

null

; temp = front;

front = front->next;

free

(temp)

;return front;

}void

attach

(float c,

int e, polynomial *prear)

intcompare

(float a,

float b)

請輸入第乙個多項式的係數和指數,以逗號隔開

請輸入係數和指數:1,

1請輸入係數和指數:2,

2請輸入係數和指數:3,

3請輸入係數和指數:0,

0請輸入第二個多項式的係數和指數,以逗號隔開

請輸入係數和指數:1,

1請輸入係數和指數:2,

2請輸入係數和指數:3,

3請輸入係數和指數:4,

4請輸入係數和指數:0,

0兩個多項式相加之後的結果為:

2.00 x^1+

4.00 x^2+

6.00 x^3+

4.00 x^

4

C 鍊錶應用 多項式相加

include using namespace std class poly class add2poly add2poly add2poly void add2poly addpoly read second poly cout n nsecond polynomial n end null fo...

單向鍊錶 練習3 7 多項式相乘

3.7 編寫乙個函式將兩個多項式相乘,用乙個鍊錶實現。你必須保證輸出的多項式按冪次排列並且最多有一項為任意冪。多項式相乘 position multiply2pol position h1,position h2 排序合併 mpsort h,size return h 氣泡排序多項式,按照項的次數從...

鍊錶應用 多項式加法 乘法

鍊錶學習 多項式應用 通過引入insertpoly函式來完成加法乘法操作 以及類似功能的creat 函式,使我的多項式按照指數下降的方式插入節點 而不需要在輸入時人為的控制 include using namespace std 多項式adt鍊錶實現的型別宣告 typedef struct node...