[函数]
void Del(POLY *C, struct Node *p)
/*若p是空指针则删除头节点,否则删除p节点的后继*/
{
struct Node *t;
/*C是空指针或C没有节点*/
if(C == NULL || C->head == NULL)return;
if( (1) )(/*删除头节点*/
t = C->head;
C->head = t->next;
return;
}/*if*/
t = p->next;
p->next = t->next;
};/*Del*/
void Insert(POLY *C, struet Node *pC)
/*将pC节点按指数降序插入到多项式C中*/
/*若C中存在pC对应的指数项,则将系数相加;若其结果为零,则删除该节点*/
{
struct Node *t, *tp;
/*pC为空指针或其系数近似为零*/
if(pC == NULL || fabs(pC->c)< EPSI)return;
if(C->head == NULL){ /*若C为空,作为头节点插入*/
C->head = pC;
pC->next = NULL;
C->n++;
return;
}/*if*/
/*若pC的指数比头节点的还大,插入到头节点之前*/
if(pC->e >C->head-)e){
(2) ;
C->head = pC;
C->n++;
return;
}/*if*/
(3) ;
t = C->head;
while(t!= NULL){
if(t->e >pC->e){
tp = t;
t = t->next;
}
else if(t->e == pC->e){ /*C中已经存在该幂次项*/
t->c += pC->c; /*系数相加*/
if(fabs(t->c)< EPSI){ /*系数之和为零*/
(4) ; /*删除对应节点*/
C->n--;
}
(5) ;
}
else t = NULL; /*C中已经不存在该幂次项*/
}/*while*/
if(t == NULL){/*适当位置插入*/
pC->next = tp->next;
tp->next = pC;
C->n++;
}/*if*/
};/*Insert*/
订单号:
遇到问题请联系在线客服
订单号:
遇到问题请联系在线客服