一元多项式相加数据结构实验报告

一元多项式相加数据结构实验报告

ID:29979366

大小:19.50 KB

页数:12页

时间:2018-12-25

一元多项式相加数据结构实验报告_第1页
一元多项式相加数据结构实验报告_第2页
一元多项式相加数据结构实验报告_第3页
一元多项式相加数据结构实验报告_第4页
一元多项式相加数据结构实验报告_第5页
资源描述:

《一元多项式相加数据结构实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划一元多项式相加数据结构实验报告  一元多项式相加  实验报告  一元多项式的相加  一实验内容  根据所学的数据结构中线性结构的逻辑特性和物理特性及相关算法,应用于求解一个具体的实际问题----------两个多项式相加  二需求分析  1掌握线性结构的逻辑特性和物理特性。  2建立一元多项式。  3将一元多项式输入,并存储在内存中,并按照指数降序排列输出多项式。4能够完成两个多项式的加减运算,并输出结果。  三概要设计  1本程序所用到的抽象数据类型: 

2、 typedefOrderedLinkListpolynomial;  //用带表头结点的有序链表表示多项式  结点的数据元素类型定义为:  typedefstruct{//项的表示  floatcoef;//系数目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  intexpn;//指数term,ElemType;  VoidAddPolyn(polynomail&Pa,pol

3、ynomail&Pb)  PositionGetHead()  PositionN(来自:写论文网:一元多项式相加数据结构实验报告)extPos(LinkListL,Linkp)  ElemGetCurElem(Linkp)  intcmp(termatermb)  StatusSetCurElem(Link&p,ElemTypee)  StatusDelFirst(Linkh,Link&q)  StatusListEmpty(LinkListL)  StatusAppend(LinkList&L,LinkS)  FreeNode()  2存储结构  一元多项式的表

4、示在计算机内用链表来实现,同时为了节省存储空间,只存储其中非零的项,链表中的每个节点存放多项式的系数非零项。它包含三个域,分别存放多项式的系数,指数,以及指向下一个项的指针。  创建一元多项式链表,对运算中可能出现的各种情况进行分析,实现一元多项式的相加相减操作。  3模块划分  a)主程序;2)初始化单链表;3)建立单链表;4)相加多项式目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的

5、培训计划  4主程序流程图  四详细设计  根据一元多项式相加的运算规则:对于两个一元多项式中所有指数相同的项,对应系数相加,若其和不为零,则构成“和多项式”中的一项,对  于两个一元多项式中所有指数不相同的项,则分别复抄到“和多项式”中去。核心算法PolyAdd是把分别由pa和pb所指的两个多项式相加,结果为pa所指的多项式。运算规则如下:相加时,首先设两个指针变量qa和qb分别从多项式的首项开始扫描(见图2-5-1),比较qa和qb所指结点指数域的值,可能出现下列三种情况之一:  qa->exp大于qb->exp,则qa继续向后扫描。  qa->exp等于qb-

6、>exp,则将其系数相加。若相加结果不为零,将结果放入qa->coef中,并删除qb所指结点,否则同时删除qa和qb所指结点。然后qa、qb继续向后扫描。  qa->exp小于qb->exp,则将qb所指结点插入qa所指结点之前,然后qa、qb继续向后扫描。  扫描过程一直进行到qa或qb有一个为空为止,然后将有剩余结点的链表接在结果表上。所得pa指向的链表即为两个多项式之和。  五源程序代码  #include目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障

7、停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  #include  #include  #defineNULL0  typedefstructNODE{  floatcoef;//系数  intexpn;//指数  structNODE*next;  }NODE;  NODE*Creat(intn);  voidprint(NODE*head);  NODE*AddPolyn(NODE*head1,NODE*head2);  NODE*Delfirst(NODE*head,NODE*q);  voidInsertBefore

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。