数据结构课程设计报告-n元多项式乘法

数据结构课程设计报告-n元多项式乘法

ID:35626582

大小:203.50 KB

页数:18页

时间:2019-04-03

数据结构课程设计报告-n元多项式乘法_第1页
数据结构课程设计报告-n元多项式乘法_第2页
数据结构课程设计报告-n元多项式乘法_第3页
数据结构课程设计报告-n元多项式乘法_第4页
数据结构课程设计报告-n元多项式乘法_第5页
资源描述:

《数据结构课程设计报告-n元多项式乘法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、.数据结构课程设计报告设计题目:n元多项式乘法学号:姓名:指导教师:专业:班级:学年学期:起止时间:哈尔滨师范大学计算机科学与信息工程学院18多项式运算的算法分析和设计一、具体任务功能:完成两个n元多项式作乘法,给出明确的等式形式。分步实施:1).初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2).完成最低要求:建立一个文件,实现两个一元二次多项式作乘法。3).进一步要求:实现三元二次多项式的乘法。二、概要设计定义单链表的抽象数据类型:ADTLinkList{数据对象:D={ai

2、ai∈ElemSet,i=1,2,3,…,n>=0}数据关系:R={

3、i,ai+1>

4、ai,ai+1∈D}//----------------------------------------线性表的单链表基本操作------------------------------------------//LinkListInitList(void);构造一个空的线性表voidDestroyList(LinkList*L);初始条件:线性表L已存在。操作结果:销毁线性表L。LinkListMakeEmpty(LinkListL)‘初始条件:线性表L已存在。操作结果:将线性表L重置为空表。intIsEmpty(LinkListL);初始条件:线性

5、表L已存在。操作结果:判断线性表是否为空表。intListLength(LinkListL);初始条件:线性表L已存在。操作结果:返回线性表L结点的个数。LNodeIsLast(LinkListL);初始条件:线性表L已存在。操作结果:返回线性表L的最后一个结点(尾结点)。LNodeNewLNode(ElemTypeX);构造一个数据域为X的新结点LNodeFindPrefious(ElemTypeX,LinkListL);初始条件:线性表L已存在。操作结果:在线性表L中寻找值为X的结点,若找到则返回该结点的前驱,否则返回NULL。voidListDelete(LNo

6、dePre);初始条件:线性表L中结点P已找到。操作结果:删除该结点。链表的结点结构:  ┌──┬──┐  │data│next│  └──┴──┘data域--存放结点值的数据域18next域--存放结点的直接后继的地址(位置)的指针域(链域)此题定义系数和指数结构如下:coefexpnext//------------------------------------------线性表的单链表存储结构-----------------------------------//TypedefstructLnode{ElemTypedata;//结点的数据域StructL

7、node*next;//结点的指针域}Lnode,*LinkList;//----------------------基本操作---------------------------------------------------------------------------//InitArray(&A,n,bound1,...,boundn)操作结果:若维数n和各维长度合法则构造相应数组A。DestroyArray(&A)初始条件:数组A已经存在。操作结果:销毁数组A。Value(A,&e,index1,...,indexn)初始条件:A是n维数组,e为元素变量,n

8、个下标值。操作结果:若各下标不超界,则e赋值为所指定的A的元素值,并返回OK。Assign(&A,e,index1,...,indexn)初始条件:A是n维数组,e为元素变量,n个下标值。操作结果:若下标不超界,则将e的值赋给A中指定下标的元素。}ADTArray三、详细设计单链表在C语言中是一种非常常见的结构,而在C++中的实现却又有不同,在一些地方更简单,更严密。同时,由于C++的一些特点,使它具有C语言所不具有的“安全化”,所以本程序用C++。有了链表特定的数据类型Mulpoly,接下来就需要建立这个链表。这里我们自定义一个构造函数CreatePoly来构造链表

9、。首先定义一个CreatePoly型的指针变量head作为头结点,存储多项式的信息(项数),为head分配存储空间建立一个头结点并为其数据域赋值,分配存储空间用c++语言中的malloc来实现;这时输入多项式的项数num,把它赋值给head的coef域,exp域赋值为1,此时再定义一个CreatePoly型的指针变量r指向head头结点。还要用类似的算法建立多项式的其它结点,剩余节点的插入用一个while循环来实现,while循环中的控制变量i从大于0的数n开始递增,直到到达num,此时while循环结束。While循环的循环体由两部分组成,第一部分

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

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

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