一元多项式求和数据结构(数据结构一元多项式的代数运算)


导读 大家好,小跳来为大家解答以上的问题。一元多项式求和数据结构,数据结构一元多项式的代数运算这个很多人还不知道,现在让我们一起来看看吧!

大家好,小跳来为大家解答以上的问题。一元多项式求和数据结构,数据结构一元多项式的代数运算这个很多人还不知道,现在让我们一起来看看吧!

1、//多项式相加(用单链表实现,用尾插法建表,用墨守成连线法求新的多项式)#include#includetypedef struct LNode //单链表的结构{ int coef,exp; struct LNode *next;}LNode,*LinkList;void InitList(LinkList &L) //单链表的初始化。

2、数据输入{ LinkList p,s; L=(LinkList)malloc(sizeof(LNode)); if(!L) exit(0); L->next=NULL; p=L; do //用尾插法进行输入 { s=(LinkList)malloc(sizeof(LNode)); scanf("%d%d",&s->coef,&s->exp); p->next=s; //此处的连线有先后关系,因为如果先写第二个操作:L->next=s, //则是先将第一个操作中的L->next变为了s,从而使赋值发生错误 if(s->next) p=s; }while(s->exp); s->next=NULL;}int compare(int x,int y){ int flag; if(x>y) flag=1; if(x==y) flag=0; if(x

3、对两个链表进行求并操作{ int n; Lc=(LinkList)malloc(sizeof(LNode)); if(!Lc) exit(0); Lc->next=NULL; LinkList pa,pb,pc; pa=La->next; pb=Lb->next; Lc=pc=La; while(pa&&pb) { n=compare(pa->exp,pb->exp); switch(n) { case 1: pc->next=pa; pc=pa; pa=pa->next; break; case -1: pc->next=pb; pc=pb; pb=pb->next; break; case 0: pc->next=pa; pc=pa; pc->coef=pa->coef+pb->coef; pa=pa->next; pb=pb->next; break; } } pc->next=pa? pa:pb; //是其中一个线性表已结束的情况 free(Lb);}void print(LinkList &L){ LinkList p; p=L->next; while(p) { printf("+%d*x^%d",p->coef,p->exp); p=p->next; } printf("");}void main(){ LinkList L1,L2,L3; printf("Please input L1(coef and exp):"); InitList(L1); printf("L1="); print(L1); printf("Please input L2(coef and exp):"); InitList(L2); printf("L2="); print(L2); Add(L1,L2,L3); printf("The new list is:"); print(L3); printf("");}。

本文到此分享完毕,希望对大家有所帮助。

本文地址:[https://www.chuanchengzhongyi.com/kepu/e6fac543fc55cc87.html]
涠洲岛攻略自由行(涠洲岛攻略)
上一篇 2024-05-19
襁褓的意思(襁褓代表着什么意思)
下一篇
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

相关推荐