C語言實現多項式的相加(鍊錶)

2021-07-24 02:31:34 字數 1249 閱讀 2139

#include #include struct node ;

//初始化linklist

struct node *init_ll()

//頭插法插入linklist

void insert_ll(struct node *head, int coef, int index)

//列印輸出linklist

void reverse_ll(struct node *head)

printf("\n");

}//銷毀linklist釋放空間

void destory_ll(struct node *head)

free(head);

}//兩個多項式進行相加操作

void add_poly(struct node *head1, int length1, struct node *head2, int length2)

p1 = p1->next;

} }else

p2 = p2->next;

} }}//兩個多項式進行相減操作

void sub_poly(struct node *head1, int length1, struct node *head2, int length2)

p1 = p1->next;

} }else

p2 = p2->next;

} }}main(void)

head2 = init_ll();

index_current = 0;

printf("-請輸入第二個多項式的次數-\n");

scanf_s("%d", &index_max2);

for (i = 0; i < index_max2; i++)

add_poly(head1, index_max1, head2, index_max2); //進行相加操作

//sub_poly(head1, index_max1, head2, index_max2); //進行相減操作

printf("多項式1的結果為:");

reverse_ll(head1);

printf("多項式2的結果為:");

reverse_ll(head2);

destory_ll(head1);

destory_ll(head2);

getchar();

getchar();

}

c 鍊錶實現多項式相加

測試 測試結果 例如,已知多項式l 1l 1 l1 l 2l 2 l2 如下 l 1 4x 5 3x 4 2x 2 x 6 l 2 6x 7 5x 4 3x 3 7x end node,list 為鍊錶建立乙個頭結點,便於表示 void init list l 由於每次輸入時都是乙個節點 多項式的某...

鍊錶實現多項式相加

均已除錯通過,編譯器為dev c 多項式相加程式,用鍊錶實現 係數 coefficient 指數exponent 多項式 multinomial include typedef struct lnode lnode,linklist 建立兩個鍊錶 int main while pr1 next pr...

鍊錶實現多項式相加

演算法attch c,e,d 建立乙個新結點,其係數 coef c 指數exp e 並把它鏈到 d 所指結點之後,返回該結點指標。polypointer attch int c int e polypointer d 演算法 padd 實現兩個多項式 a b 相加 c x a x b x polyp...