swust oj 一元多项式加法运算的实现(1040)--链表实现

原创 2018年04月17日 13:26:56
#include "iostream"
#include "stdio.h"
using namespace std;
typedef int ElemType;
  
typedef struct Node
{
    ElemType i; // 指数
    ElemType c; // 系数
    Node *next;
}*pNode;
  
void Creat(pNode &L)
{
    int i, c;
    scanf("%d,%d", &c, &i);
    //  cin >> c >> "," >> i;
    if(i == 0 && c == 0) L = NULL;
    else
    {
        L = new Node;
        L->c = c;
        L->i = i;
        Creat(L->next);
    }
}
  
void Add(pNode &L1, pNode L2)
{
    pNode p = L1->next, q = L2->next;
    pNode r = L1, s = NULL;
      
    while (p || q)
    {
        if(p == NULL)
        {
            s = q->next;
            q->next = r->next;
            r->next = q;
            q = s;
        }
        else if(q == NULL)
        {
            p = p->next;
            r = r->next;
        }
        else if (p->i > q->i)
        {
            s = q->next;
            q->next = r->next;
            r->next = q;
            q = s;
            r = r->next;
        }
        else if (p->i == q->i)
        {
            p->c += q->c;
            s = p->next;
            if(p->c == 0)
            {
                  
                r->next = p->next;
                delete p;
                  
            }
            r = r->next;
            p = s;
            q = q->next;
        }
        else
        {
            p = p->next;
            r = r->next;
        }
    }   
}
int main()
{
    pNode L1, L2;
    L1 = new Node;
    L2 = new Node;
    Creat(L1->next);
    Creat(L2->next);
    Add(L1,L2);
    while (L1->next)
    {
        cout << L1->next->c << "x^"
            << L1->next->i;
        L1 = L1->next;
        if(L1->next) cout << "+";
    }
}


【数据结构_链表_List_1040】一元多项式加法运算的实现

#include #include #include #include using namespace std; typedef struct node { int data1,dat...
  • IronCarrot
  • IronCarrot
  • 2017-03-26 22:58:17
  • 769

用链表实现一元多项式的加法运算

#include using namespace std; struct Node { int coef; int exp; Node * next; Node(){coef=0;exp=0;...
  • fightingyxy
  • fightingyxy
  • 2016-02-26 19:13:11
  • 3039

PAT 一元多项式的乘法与加法运算(链表 c++版)

题目按照指数递减的顺序给出两个一元多项式,输出两个多项式的乘积,还有 和 ,按照指数递减的顺序。 用链表实现一元多项式的乘法与加法运算。 首先来看加法运算 多项式 poly1   x^4 +...
  • chaiwenjun000
  • chaiwenjun000
  • 2015-09-09 22:45:30
  • 3976

一元多项式加法与乘法运算链表实现

typedef struct PolyNode *Polynomial; struct PolyNode{ int coef;//系数 int expon;//指数 Polynomial l...
  • chy89224
  • chy89224
  • 2017-01-29 01:56:36
  • 340

Java链表练习实现一元多项式的加法

链表的实现在之前写过了,就不再写了 将链表的数据域赋值为多项式结点类 多项式结点类: package polynomialOfOneIndeterminate; public class Pol...
  • dly215011
  • dly215011
  • 2016-10-21 22:56:09
  • 1342

一元多项式的乘法与加法运算【Java实现--通过单项链表实现队列】

题目:设计函数分别求两个一元多项式的乘积与和。                 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超...
  • dzy15580807943
  • dzy15580807943
  • 2015-10-06 17:17:59
  • 915

【数据结构】C++链表实现一元多项式的加法

链表排序借鉴了隔壁家的一个博客 http://www.cnblogs.com/TenosDoIt/p/3666585.html       里面有关于链表的冒泡,选择,插入,快排等详细的代码 ...
  • JK851617453
  • JK851617453
  • 2017-10-28 20:10:25
  • 458

swust oj 1040 一元多项式加法运算的实现

#include&amp;lt;stdio.h&amp;gt; #include&amp;lt;string.h&amp;gt; int main() { int x,z; while(scanf...
  • qq_23853383
  • qq_23853383
  • 2018-04-17 13:32:37
  • 1

一元多项式的加法、减法、乘法

  • 2014年06月17日 10:33
  • 6KB
  • 下载

C语言:用链表实现一元多项式的加法

/* 一元多多项式的加法 1.先创建链表,存储多项式 2.输出多项式 3.两个多项式相加 4.输出多项式 */ # include # include typedef struct ...
  • wjb214149306
  • wjb214149306
  • 2015-08-01 17:05:31
  • 5664
收藏助手
不良信息举报
您举报文章:swust oj 一元多项式加法运算的实现(1040)--链表实现
举报原因:
原因补充:

(最多只允许输入30个字)