电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构(C语言)用单链表存储一元多项式,并实现两个多项式的相加运算培训资料VIP免费

数据结构(C语言)用单链表存储一元多项式,并实现两个多项式的相加运算培训资料_第1页
数据结构(C语言)用单链表存储一元多项式,并实现两个多项式的相加运算培训资料_第2页
数据结构(C语言)用单链表存储一元多项式,并实现两个多项式的相加运算培训资料_第3页
数据结构(C语言)用单链表存储一元多项式,并实现两个多项式的相加运算精品文档收集于网络,如有侵权请联系管理员删除#include#include#includetypedefintElemType;/*单项链表的声明*/typedefstructPolynNode{intcoef;//系数intexpn;//指数structPolynNode*next;}PolynNode,*PolynList;/*正位序(插在表尾)输入n个元素的值,建立带表头结构的单链线性表*//*指数系数一对一对输入*/voidCreatePolyn(PolynList&L,intn){inti;精品文档收集于网络,如有侵权请联系管理员删除PolynListp,q;L=(PolynList)malloc(sizeof(PolynNode));//生成头结点L->next=NULL;q=L;printf("成对输入%d个数据\n",n);for(i=1;i<=n;i++){p=(PolynList)malloc(sizeof(PolynNode));scanf("%d%d",&p->coef,&p->expn);//指数和系数成对输入q->next=p;q=q->next;}p->next=NULL;}//初始条件:单链表L已存在//操作结果:依次对L的每个数据元素调用函数vi()。一旦vi()失败,则操作失败voidPolynTraverse(PolynListL,void(*vi)(ElemType,ElemType)){PolynListp=L->next;while(p)精品文档收集于网络,如有侵权请联系管理员删除{vi(p->coef,p->expn);if(p->next){printf("+");//“+”号的输出,最后一项后面没有“+”}p=p->next;}printf("\n");}/*ListTraverse()调用的函数(类型要一致)*/voidvisit(ElemTypec,ElemTypee){if(c!=0){printf("%dX^%d",c,e);//格式化输出多项式每一项}}/*多项式相加,原理:归并*//*参数:两个已经存在的多项式*/精品文档收集于网络,如有侵权请联系管理员删除/*返回值:归并后新的多项式的头结点*/PolynListMergeList(PolynListLa,PolynListLb){PolynListpa,pb,pc,Lc;pa=La->next;pb=Lb->next;Lc=pc=La;//用La的头结点作为Lc的头结点while(pa&&pb){if(pa->expnexpn){pc->next=pa;//如果指数不相等,pc指针连上指数小的结点,pc=pa;pa=pa->next;//指向该结点的指针后移}elseif(pa->expn>pb->expn){pc->next=pb;//pc指针连上指数小的结点,pc=pb;pb=pb->next;//指向该结点的指针后移}精品文档收集于网络,如有侵权请联系管理员删除else//(pa->expn=pb->expn){pa->coef=pa->coef+pb->coef;//指数相等时,系数相加pc->next=pa;pc=pa;pa=pa->next;//两指针都往后移pb=pb->next;}}pc->next=pa?pa:pb;//插入剩余段returnLc;}voidmain(){PolynListha,hb,hc;printf("非递减输入多项式ha,");CreatePolyn(ha,5);//正位序输入n个元素的值printf("非递减输入多项式hb,");精品文档收集于网络,如有侵权请联系管理员删除CreatePolyn(hb,5);//正位序输入n个元素的值printf("多项式ha:");PolynTraverse(ha,visit);printf("\n");printf("多项式hb:");PolynTraverse(hb,visit);printf("\n");hc=MergeList(ha,hb);PolynTraverse(hc,visit);}

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

爱的疯狂+ 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部