WEB开发网
开发学院软件开发数据结构 C语言实现多项式除法 阅读

C语言实现多项式除法

 2010-04-30 12:01:29 来源:WEB开发网   
核心提示:AddPolyn(&temp1,*p2);//temp1是p2的一个拷贝,p2在此期间一直不变q=temp1->next;Ins(&res2,temp2);while(q!=0)//除数的遍乘{q->coef*=temp2->coef;q->expn+=temp2->expn;q=q-&g

AddPolyn(&temp1,*p2);//temp1是p2的一个拷贝,p2在此期间一直不变
q=temp1->next;
Ins(&res2,temp2);
while(q!=0)//除数的遍乘
{
q->coef*=temp2->coef;
q->expn+=temp2->expn;
q=q->next;
}
SubPolyn(p1,temp1);//被除数减去遍乘后的积
Destroy(&temp1);
}
temp1=*p1;
temp2=*p2;
*p1=res2;*p2=temp1;
Destroy(&temp2);
}
intcmp(inta,intb)
{
if(a>b)return1;
if(a<b)return-1;
return0;
}
voidDel(PLink*p,PLinkpa)
{
(*p)->next=pa->next;
free(pa);
}
voidIns(PLink*p,PLinkpa)
{
pa->next=(*p)->next;
(*p)->next=pa;
}
voidAppend(PLink*p,PLinkpa)
{
PLinktemp,end=*p;
while(pa!=0)
{
temp=(PLink)malloc(sizeof(LinkList));
temp->coef=pa->coef;
temp->expn=pa->expn;
temp->next=0;
end->next=temp;
end=temp;
pa=pa->next;
}
}
voidDestroy(PLink*p)//注意,这里destroy将free掉头结点 [Page]
{
while((*p)->next!=0)
Del(p,(*p)->next);
free(*p);
}
PLinkGetMax(PLinkp)
{
PLinkq=p->next;
if(q!=0)
while(q->next!=0)
q=q->next;
else
return0;
returnq;
}

上一页  1 2 

Tags:语言 实现 多项式

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接