一元多项式求和.doc
《一元多项式求和.doc》由会员分享,可在线阅读,更多相关《一元多项式求和.doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流一元多项式求和【精品文档】第 6 页实验二一 学生基本情况:专业班级:学号:姓名:二 实验题目、实验内容1、实验目的:(1)熟练掌握链表结构及有关算法的设计; (3)掌握用链表表示特定形式的数据的方法,并能编写出有关运算的算法。2、实验内容:一元多项式求和。把任意给定的两个一元多项式P(x),Q(x)输入计算机,计算它们的和并输出计算结果。三设计分析先构造两个项链表,分别存储两个多项式的系数和指数,然后将每个链表按指数的大小从小到大排列,以便于后来的合并。合并的伪代码如下:1. 工作指针p、q初始化;2. while(p存在且q存在)执行下列三种情形之一
2、 2.1 如果p-expexp,则指针p后移; 2.2 如果p-expq-exp,则 2.2.1 将结点q插入到结点p之前; 2.2.2 指针q指向原指结点的下一个结点; 2.3 如果p-exp=q-exp,则 2.3.1 p-coef =p-coef+q-coef; 2.3.2 如果p-coef =0,则执行下列操作,否则,指针p后移; 2.3.2.1 删除结点p; 2.3.2.2 使指针p指向它原指结点的下一个结点; 2.3.3 删除结点q; 2.3.4 使指针q指向它原指结点的下一个结点; 3. 如果q不为空,将结点q链接在第一个单链表的后面;当然,多项式的输出也不简单,要考虑系数是否为
3、1,为1时x前的系数不显示,指数是否为1,为1时也不显示。还有最前面的项如果系数为正,则不显示+号。四源程序代码#include#include#define M 50typedef struct node/项节点float coef;/系数float exp;/指数 node * next;/下一节点Linode;void Initlinode(Linode * &L)/初始化L=(Linode * )malloc(sizeof(Linode);L-coef=L-exp=0;L-next=NULL;void Createlinode(Linode * &L,int n)/建立项链表Linod
4、e * p,* s=L;int i;for(i=0;icoef),&(p-exp);s-next=p;p-next=NULL;s=p;void Destroylinode(Linode * &L)/销毁链表Linode * p=L,* s=L-next;while(s!=NULL)free(p);p=s;s=s-next;free(p);bool Sort(Linode * &L)/排序Linode * p, * pre,* q;if(L-next=NULL)return 0;p=L-next-next;L-next-next=NULL;while(p!=NULL)q=p-next;pre=L
5、;while(pre-next!=NULL&pre-next-expexp)pre=pre-next;p-next=pre-next;pre-next=p;p=q;return 1;bool Plus(Linode * &A,Linode * &B)/合并多项式Linode * p=A-next, * q=B-next,* r=A,* s;if(q=NULL)return 0;while(p!=NULL&q!=NULL)s=q-next;if(p-expexp)while(p!=NULL&p-expexp)p=p-next;r=r-next;if(p!=NULL&p-expq-exp) r-n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一元 多项式 求和
限制150内