线性表的基本操作

稀疏多项式:如P(x)=1+3x1000+x20000; Q(x)=x+x50000
R(x)=1+x+3x1000+x20000+x50000
数学模型:
P=((1,0),(3,1000),(1,20000)) Q=((1,1),(1,50000)) R=((1,0),(1,1),(3,1000),(1,20000),(1,50000))
一个基本元素(1,0)称为 一个小项,可定义相应的类型Term

 typedef struct
  { 
  float coef;int expn;
  }Term;

一个多项式实际可看作元素类型为term的线性结构的数据对象,可在线性表的基础上实现具体操作

但是在复杂的多项式问题中,基本定义如下

#include <bits/stdc++.h>

//函数状态码定义
#define TRUE        1
#define FALSE       0
#define OK          1
#define ERROR       0
#define OVERFLOW   -2

typedef int  Status;

typedef struct
{
    float coef;
    int expn;
} Term;

typedef Term ElemType;

typedef struct LNode
{
    ElemType data;
    struct LNode *next;
} LNode,*LinkList;

typedef LinkList Polynomial;//Polynomial多项式;

1、线性表的创建和插入

void Insert(Polynomial P,Polynomial q)
{
    LinkList prep, p;
    prep=P;
    p=P->next;
    while( p && p->data.expn < q->da
上一篇:Elasticsearch-基础介绍及索引原理分析


下一篇:Linux信号量动作和说明列表