浙江大学数据结构(小白专场03—加法、乘法运算及多项式输出)

本文详细介绍了如何通过编程实现两个多项式的相加与相乘操作,包括遍历多项式的节点、比较指数大小、进行系数相加及乘法运算,并提供具体的算法实现流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何将两个多项式相加

Polyminal AddPolyminal(Polyminal p1,Polyminal p2)  
{
 int sum;
 Polyminal front,rear,temp;
 void AddToList(int coef,int expon,Polyminal* PtrRear);
 int Compare(int,int);
 front=rear=(Polyminal)malloc(sizeof(struct QNode));
 while (p1 && p2)
        {
         switch (Compare(p1->expon,p2->expon))
                {
                 case 1:AddToList(p1->coef,p1->expon,&rear);p1=p1->link;break;
                 case -1:AddToList(p2->coef,p2->expon,&rear);p2=p2->link;break;
                 case 0:sum=p1->coef+p2->coef;
                        if (sum) AddToList(sum,p1->expon,&rear);
                        p1=p1->link;p2=p2->link;break;
				}
		}
 for (;p1;p1=p1->link) AddToList(p1->coef,p1->expon,&rear);
 for (;p2;p2=p2->link) AddToList(p2->coef,p2->expon,&rear);
 temp=front;
 front=front->link;
 free(temp);
 return front;
}

int Compare(int a,int b)
{
 if (a>b)
    return 1;
 if (a==b)
    return 0;
 else 
    return -1;
}

如何将两个多项式相乘

Polyminal MultiPolyminal(Polyminal p1,Polyminal p2)
{
 Polyminal front,rear,temp;
 front=rear=(Polyminal)malloc(sizeof(struct QNode));
 Polyminal JAVA,PYTHON;
 int product_coef,product_expon;
 void AddToList(int coef,int expon,Polyminal* PtrRear);
 if (!p1 || !p2) return NULL;
 for (JAVA=p2;JAVA;JAVA=JAVA->link)
     {
      for (PYTHON=p1;PYTHON;PYTHON=PYTHON->link)
          {
           product_coef=(JAVA->coef)*(PYTHON->coef);
           product_expon=(JAVA->expon)+(PYTHON->expon);
           AddToList(product_coef,product_expon,&rear);
		  }
     }
 temp=front;
 front=front->link;
 free(temp);
 return front;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值