(本文将持续更新)
1. 合并两一元多次项式
举例说明:
A(x) = 5x2+x3+6x4+7x5
B(x) = 7x+2x2+3x3+2x4+6x5
可以形成如图所示的两个链表:
现在写书实现将两个一元多次项式合并的函数:
上面只是一般情况下的例子,方便理解题意。为了让函数的耦合度降低我们需要考虑特殊情况的边界值,在下面一一说明。
//A,B 两个多项式相加
#include<stdio.h>
#include<malloc.h>
typedef struct Node{
int exp;
int coef;
struct Node * next;
}node;
int main()
{
int n=1;
node * pre_A=NULL,*p=NULL,*A=NULL;
node * pre_B=NULL,*q=NULL;
printf("请输入A链表中的5个单项式的系数和指数:");
node * p1 = (node *)malloc(sizeof(node));
pre_A=p1=A;
while(n<=5){
p = (node *)malloc(sizeof(node));
scanf("%d",&p->exp);
scanf("%d",&p->coef);
pre_A->next = p;
pre_A = p;
n++;
}
printf("请输入B链表中的4个单项式的系数和指数:");
node * q1 = (node *)malloc(sizeof(node));
pre_B = q1;
n=1;
while(n<=4){
q = (node *)malloc(sizeof(node));
scanf("%d",&q->exp);
scanf("%d",&q->coef);
pre_B->next