怎么用C++链表处理一元多项式的乘法与加法运算

本文介绍如何使用C++的单链表数据结构来处理一元多项式的加法和乘法运算,详细解析PTA数据结构与算法题目中的相关编程问题,代码注释详尽。
摘要由CSDN通过智能技术生成

7-2 一元多项式的乘法与加法运算

求一元多项式的和与积

PTA数据结构与算法题目集【中文】第二道编程题
**用单链表处理,这类做法代码量较多,我的注释尽量写的仔细


#include <iostream>
#include <vector>
using namespace std;
struct Node {
   
    int coefficient;
    int Index;
    struct Node* next;
    Node(int c, int i) : coefficient(c), Index(i), next(NULL) {
   } //构造函数,让指针初始值为空
};
void print(Node* x) {
   
    if (x == NULL) {
       //由后面的函数结果,若返回NULL表示答案为0
        cout << 0 << " " << 0 << endl;
        return;
    }
    while (x->next) {
    //当x现在指向的结点的下一个不是NULL,即x不是最后一个结点时
        cout << x->coefficient << " " << x->Index << " ";
        x = x->next;
    }
    cout << x->coefficient << " " << x->Index << endl;  //最后无空格
}
Node* add(Node* a, Node* b) {
     //返回完成加法的链表
    if (a == NULL)return b; //当一个结点为空,返回另一个结点
    if (b == NULL)return a;
    Node* head = NULL, * tail = NULL;
    while (a && b) {
   
        if (a->coefficient == 0) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值