下载此文档

一元多项式相加问题实验报告概要.docx


文档分类:高等教育 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
。,一个一元多项式的每一个子项都由“系数---指数”两部分组成,所以可以将它抽象成一个由“系数 指数对”构成的线性表。基于这样的分析,可以采用一个带有头结点的单链表来表示一个一元多项式。具体数据类型定义为:typedefstructnode{floatcofe; //系数域intexp; //指数域structnode*next;//指针域指向下一个子项}*polynode,poly;Polynodehead_a,head_b,head_c;这三个指针分别作为链表A,B和C的头指针。“系数---指数对”的输入格式输入各个子项,输入一个子项,通过遍历链表比较指数的大小,将新结点插在合适的位置,使多项式的指数按递增的顺序存储。当遇到输入结束标志是停止输入,而转去执行程序下面的部分。具体函数构造为:polynodecreat_polynode(){polynodeA,p,q,s; //建立这种类型的头指针,尾指针,遍历指针和动态指针floata;intb;A=newpoly;A->next=NULL;q=A;p=A;cin>>a;cin>>b;while(a!=0||b!=0){s=newpoly;s->cofe=a;s->exp=b;while(q->next){if(q->next->exp<b)q=q->next; //遍历链表,若指数大于原链表指数,指针后移一个else{s->next=q->next;q->next=s;break;//若不是,将结点插入指针后面}}if(q->next==NULL){s->next=p->next;p->next=s;p=s;//q遍历到链表尾仍未插入,将结点插入最后,改变尾指针使其指向新结点}q=A; //让q返回头指针处,以便下一次遍历链表cin>>a;cin>>b;}if(p!=NULL)p->next=NULL;returnA;},并存放在以C为头指针的一个新链表中。可以采用如下方法进行设计:设指针p,q,r分别指向描述多项式的链表A,B,C头部,比较p->exp与q->exp;若p->exp小,则做如下操作:while(p!=NULL&&q!=NULL) //在两个指针不为空的情况下{r=newpoly;if(p->exp<q->exp){r->cofe=p->cofe;if(r->cofe==0){deleter;p=p->next;continue; //若r指向的系数为,则p前进,释放r并强制执行下一次循环}r->exp=p->exp;r->next=s->next;s->next=r;s=r;}若p->exp=q->exp,则:elseif(p->exp==q->exp){r->cofe=p->cofe+q->cofe; //若两指针指数部分相等,则系数相加赋给 rif(r->cofe==0){deleter;p=p->next;q=q->next;continue;}r->exp=p->exp;r->next=s->next;s->next=r;s=r;p=p->next;q=q->next; //两指针均前进}若p->exp>q->exp,则:elseif(p->exp>q->exp){r->cofe=q->cofe;if(r->cofe==0){deleter;q=q->next;continue;}r->exp=q->exp;r->next=s->next;s->next=r;s=r;q=q->next;}}在两个指针中有一个为空以后,可以进行如下操作将多项式中剩余项赋到C中:while(p==NULL&&q!=NULL){r=newpoly;r->cofe=q_>cofe;r->exp=q_>exp;r->next=s->next;s->next=r;s=r;q=q->next;} //若有一个多项式已经结束则把另一个多项式的值赋给新多项式while(q==NULL&&p!=NULL){r=newpoly;r->cofe=p->cofe;r->exp=p->exp;r->next=s->next;s->next=r;s=r;p=p->next;}if(r!=NULL)r->next=NULL;3•多项式显示的功能模块此模块用于多项的显示,用“系数---指数对”的形式表示表达式:cout<<"("<<n->cofe<<","<<n->exp<<")";n=n->next;四•界面设计在输入多项式时,界面提示输入( 00)表示结束输入。

一元多项式相加问题实验报告概要 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
最近更新