一元多項式的應用
1.儲存結構
typedef struct
{
float c;//係數
int e;//指數
}Term;
typedef struct PNode
{
Term data;
struct PNode *next;
}PNode,PLink;
2.插入
void Insert(PLink &L,Term x)
{
PNode *q=L,*p=L->next,*s;
while(q)
{
if(p!NULL&&x.e>q->data.e&&x.e<p->data.e)
{
s=(PNode*)malloc(sizeof(PNode));
s->data=x;s->next=p;q->next=s;
return;
}
else if(p!=NULL&&x.e==p->data.e)
{
if(p->data.c+x.c==0)
{
q->next=p->next;
free(p);
return;
}
else
{
p->data.c+=x.c;
return;
}
}
else if(p==NULL&&x.e>q->data.e)
{
s=(PNode*)malloc(sizeof(PNode));
s->data=x;s->next=q->next;q->next=s;
return;
}
else
{
q=p;
p=p->next;
}
}
}
3.建立
void Create(PLink &L)
{
Term x;
L=(PNode *)malloc(sizeof(PNode));
L->data.e=-1;
L->next=NULL;
while(1)
{
scanf("%f%d",&x.c,&x.e);
if(x.c==0)
break;
Insert(L,x);
}
}
4.求和
void Add(PLink La,PLink Lb,PLink &Lc)
{
PNode *s,*pa,*pb,*pcr;
Lc=(PNode*)malloc(sizeof(PNode));
Lc->data.e=-1;
Lc->next=NULL;
pa=La->next;
pb=Lb->next;
pcr=Lc;
while(pa&&pb)
{
if(pa->data.e<pb->data.e)
{
s=(PNode*)malloc(sizof(PNode));
s->data=p->data;
s->next=NULL;
pcr->next=s;
pcr=s;
pa=pa->next;
}
else if(pa->data.e==pb->data.e)
{
if(pa->data.c+pb->data.c!=0)
{
s=(PNode*)malloc(sizof(PNode));
s->data.c=pa->data.c+pb->data.c;
s->data.e=pa->data.e;
s->next=NULL;
pcr->next=s;
pcr=s;
}
pa=pa->next;
pb=pb->next;
}
else
{
s=(PNode*)malloc(sizof(PNode));
s->data=pb->data;
s->next=NULL;
pcr->next=s;
pcr=s;
}
}
while(pa)
{
s=(PNode*)malloc(sizof(PNode));
s->data=pa->data;
s->next=NULL;
pcr->next=s;
pcr=s;
pa=pa->next;
}
while(pb)
{
s=(PNode*)malloc(sizof(PNode));
s->data=pb->data;
s->next=NULL;
pcr->next=s;
pcr=s;
pb=pb->next;
}
}
5.乘積
void Mul(PLink La,PLink Lb,PLink &Lc)
{
PNode *pa,*pb;
Term x;
Lc=(PNode *)malloc(sizeof(PNode));
Lc->data.e=-1;
Lc->next=NULL;
pa=La->next;
while(pa)
{
pb=Lb->next;
while(pb)
{
x.c=pa->data.c*pb->data.c;
x.e=pa->data.e+pb->data.e;
Insert(Lc,x);
pb=pb->next;
}
pa=pa->next;
}
}
相關文章
- 一元稀疏多項式相加
- [PAT B] 1010 一元多項式求導求導
- PAT-B 1010 一元多項式求導求導
- 正交多項式介紹及應用
- 7-2 一元多項式的乘法與加法運算 (20 分)
- 1010 一元多項式求導 (25分)/c++實現求導C++
- 詳解線性結構 —— 一元多項式的乘法與加法運算
- 基礎實驗3-2.1 一元多項式求導 (20分)求導
- 多項式
- 用多項式的逆優化dp總結優化
- 密碼學承諾之原理和應用 - Kate多項式承諾密碼學
- Render函式在Vue多頁面應用中的應用函式Vue
- 多項式除法
- 多項式乘法
- 15.6 用多項式一致逼近連續函式函式
- C++ 一元謂詞對應的lambda表示式C++
- 多項式全家桶
- 多項式半家桶
- 生成函式與多項式函式
- 【組合數學】多項式定理 ( 多項式係數 | 多重集全排列 | 對應放球子模型方案數 | 多項式係數相關恆等式 )模型恆等式
- Hive 分析函式lead、lag例項應用Hive函式
- 在 React 中管理同一元件的多個例項中的狀態React元件
- 多項式求和 hd 2011
- 【模板】多項式乘法逆
- ”innerHTML“的應用例項HTML
- 多項式學習筆記筆記
- 全部奇次項的一元13次方
- 全部奇次項的一元11次方
- 全部奇次項的一元9次方
- 全部奇次項的一元15次方
- 全部奇次項的一元17次方
- Alluxio在多級分散式快取系統中的應用UX分散式快取
- Swoole 多協議 多埠 的應用協議
- dd應用例項
- PAT6-2 多項式求值
- 普通有限多項式筆記筆記
- java的多項式的加減乘除和賦值Java賦值
- 核函式 多項式核函式 高斯核函式(常用)函式