一元多项式相加 实验报告 一元多项式的相加 一 实验内容 根据所学的数据结构中线性结构(线性表)的逻辑特性和物理特性及相关算法,应用于求解一个具体的实际问题----------两个多项式相加 二 需求分析 1 掌握线性结构的逻辑特性和物理特性
2 建立一元多项式
3 将一元多项式输入,并存储在内存中,并按照指数降序排列输出多项式
4 能够完成两个多项式的加减运算,并输出结果
三 概要设计 1 本程序所用到的抽象数据类型: typedef OrderedLinkList polynomial; // 用带表头结点的有序链表表示多项式 结点的数据元素类型定义为: typedef struct { // 项的表示 float coef; // 系数 int expn; // 指数 term, ElemType; Void AddPoly n(poly nomail&Pa,poly nomail&Pb) Position GetHead() Position Nex tPos(LinkList L,Link p) Elem GetCu rElem(Link p) int cmp(term a term b) Statu s SetCu rElem(Link&p, ElemTy pe e) Statu s DelFirst(Link h, Link &q) Statu s ListEmpty (LinkList L) Statu s Append(LinkList&L, Link S) FreeNode() 2 存储结构 一元多项式的表示在计算机内用链表来实现,同时为了节省存储空间,只存储其中非零的项,链表中的每个节点存放多项式的系数非零项
它包含三个域,分别存放多项式的系数,指数,以及指向下一个项的指针
序数coef 指数exp 指针域next 创建一元多项式链表,对运算