收藏 分享(赏)

实验1 线性表应用-多项式计算.doc

上传人:11xg27ws 文档编号:6262897 上传时间:2019-04-03 格式:DOC 页数:12 大小:141.50KB
下载 相关 举报
实验1 线性表应用-多项式计算.doc_第1页
第1页 / 共12页
实验1 线性表应用-多项式计算.doc_第2页
第2页 / 共12页
实验1 线性表应用-多项式计算.doc_第3页
第3页 / 共12页
实验1 线性表应用-多项式计算.doc_第4页
第4页 / 共12页
实验1 线性表应用-多项式计算.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、浙江大学城市学院实验报告课程名称 数据结构与算法 实验项目名称 实验一 线性表应用-多项式计算 学生姓名 蓝礼巍 专业班级 学号 实验成绩 指导老师(签名 ) 日期 一. 实验目的和要求1进一步掌握线性表的的基本操作。2掌握线性表的典型应用-多项式表示与计算。二. 实验内容1 设用线性表 ( (a1, e1), (a2, e2), , (am, em) ) 表示多项式 P(x) = a1*xe1 + a2*xe2 + am*xem ,其中:a1am 为非零系数,0e1 e2em,请编写用链式存储结构(带表头附加结点的单链表)存储该多项式时,多项式基本操作的实现函数。多项式基本操作应包括初始化多

2、项式、清除多项式、输出多项式、插入一项、删除一项、多项式求值、多项式相加等。要求:把多项式线性表的结构定义及多项式基本操作实现函数存放在头文件 Linkpoly.h 中,主函数存放在主文件 test6_1.cpp 中,在主函数中通过调用 Linkpoly.h 中的函数进行测试。 2 选做: 编写用顺序存储结构存储多项式时,多项式基本操作的实现函数。要求:把多项式线性表的结构定义及多项式基本操作实现函数存放在文件 Seqpoly.h 中,在主文件 test6_1.cpp 中增加测试语句对 Seqpoly.h 中的函数进行测试。3 填写实验报告,实验报告文件取名为 report1.doc。4 上传

3、实验报告文件 report1.doc 与源程序文件 test6_1.cpp 及Linkpoly.h、Seqpoly.h(若有)到 Ftp 服务器上自己的文件夹下。三. 函数的功能说明及算法思路包括每个函数的功能说明,及一些重要函数的算法实现思路void InitPoly(LNode *InitPoly(head);double a,e;while(1)couti;if(i=1)couta;coute;InsertPoly(head,a,e);else if(i=2)int pos;coutpos;DeletePoly(head,a,e,pos);coutx;if(head-next!=NULL

4、)couth1;for(z=0;zk;razj=k;couth2;for(z=0;zk;rbzj=k;int h3;for(h3=0;h3next=NULL;HL=newpter;void TraversePoly(LNode *HL)if(HL-next=NULL)coutnext;while(HL-next!=NULL)coutdata.a;coutdata.e;coutnext;coutdata.adata.enext;while(cp!=NULL)np=cp-next;delete cp;cp=np;HL-next=NULL;coutdata.a=a;newpter-data.e=e;

5、while(cp!=NULL)if(edata.e)break;elseap=cp;cp=cp-next;newpter-next=cp;ap-next=newpter;bool DeletePoly(LNode *LNode *ap=HL;if(pos=-1)while(cp-next!=NULL)ap=cp;cp=cp-next;elseint i=0;while(cp!=NULL)i+;if(i=pos)break;elseap=cp;cp=cp-next;if(cp=NULL)coutdata.a;e=cp-data.e;ap-next=cp-next;delete cp;return

6、 true;double PoluSum(LNode *HL,double x)double sum;sum=0;while(HL-next!=NULL)sum=sum+HL-data.a*pow(x,HL-data.e);HL=HL-next;sum=sum+HL-data.a*pow(x,HL-data.e);return sum;LNode *PolyAdd2(LNode *p1,LNode *p2)LNode *p3;p3=new LNode;LNode *t1,*t2,*t3;t1=p1;t2=p2;t3=p3;while(t1t3-data=t1-data;t1=t1-next;e

7、lse if(t1-data.e t2-data.e)t3=t3-next=new LNode;t3-data=t2-data;t2=t2-next;elsedouble a1=t1-data.a+t2-data.a;if(a1!=0)t3=t3-next=new LNode;t3-data.a=a1;t3-data.e=t1-data.e;t1=t1-next;t2=t2-next;while(t1)t3=t3-next=new LNode;t3-data=t1-data;t1=t1-next;while(t2)t3=t3-next=new LNode;t3-data=t2-data;t2=t2-next;t3-next=NULL;t3=p3;p3=t3-next;delete t3;return p3;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 中学实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报