多项式的加法与乘法运算

 多项式的运算是链表使用的典型例子,涵盖了很多链表的操作,值得深度学习与思考。

多项式节点结构体定义为:

包含了系数,指数,以及指向下一节点的指针


struct PolyNode{
    int coef;
    int expon;
    struct PolyNode *link;
};
typedef struct PolyNode *Polynomial;
Polynomial P1, P2;

 加法和乘法的操作暂不解释:

 

本题的输出函数给了我一些解题的启发,通常我们刷算法题的时候经常会遇到这样的要求,最后一位数后面没有空格:

在这里我们使用一个flag来标记第一个元素,如果是第一个元素,那么仅仅将flag内容变为1,在以后的操作(即不是第一个元素)我们直接输出空格。

void PrintPoly(Polynomial P)
{
    int flag = 0;
    Polynomial t;
    t = P;
    while(t)
    {
        if(!flag)
            flag = 1;
        else
            printf(" ");
        printf("%d %d", t->coef, t->expon);
        t = t->link;
    }
    printf("\n");
}
#include <stdio.h&g
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值