没有合适的资源?快使用搜索试试~ 我知道了~
大数据结构程序设计作业——《一元多项式地四则运算》.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 62 浏览量
2022-11-01
19:41:27
上传
评论
收藏 640KB DOCX 举报
温馨提示
试读
23页
。。。
资源推荐
资源详情
资源评论
数据结构实验报告
题
目
一元多项式四如此运算
学生某某王某某
专业班级测控 120X 班
学
号 U2012XXXXX
- 0 - / 23
word
1 问题描述
利用已学过的数据结构来构造二个存储多项式的结构,接着把输入,加,减,乘,
除运算分成四个主要的模块:实现多项式输入模块、实现加法的模块、实现减法
的模块、实现乘法的模块、实现除法的模块,然后各个模块里面还要分成假如干
种情况来考虑并通过函数的嵌套调用来实现其功能。最后,编写 main 主函数以
实现对多项式输入输出以与加、减、乘、除。
2 相关函数介绍说明
〔1〕程序定义的数据结构类型为线性表的链式存储结构类型变量:
typedef struct linknode
〔2〕程序定义的其它函数:
linnode *Sort(linnode *S);
//多项式按指数从大到小排序
linnode *CreateList();
//创建多项式
Void ShowList(linnode *head) ;
//显示多项式
linnode *Copy(linnode *copy);
//拷贝多项式〔因为做减法运算时会破坏原来输入的多项式〕
linnode *SearchList(linnode *head,int x);
//查找函数
Linnode *Mulr(linnode *s,linnode *p)
//用一个节点去乘与一个多项式〔辅助除法运算〕
Linnode *AddSame(linnode *head);
//和并多项式的同类项
linnode *Add(linnode *head1,linnode *head2);
// 加法
linnode *Mul(linnode *head1,linnode *head2);
// 乘法
linnode *Sub(linnode *head1,linnode *head2);
- 1 - / 23
word
// 减法
Void Div(linnode *head1,linnode *head2)
//除法
int main( )
//主函数
3 程序设计
3.1 多项式存储的实现
多项式是由假如干项构成的一个数学式子,其每一项包含系数与指数。然而
我们可以把每一项看成是一个节点,再由这些节点连接成多项式。根据所学数据
结构,采用线性表的链式存储来存储多项式的每一个项的系数与指数。其结构为:
typedefstruct linknode //链表节点的结构体
{
float coe; //系数
int index;//指数
struct linknode *next;
}linnode;
3.2 加减乘除算法
在多项式运算的程序设计中,每一局部都会调用一些其它函数来辅助完成运
算〔例如:对输入的多项式进展排序,查找,合并等〕,在这里主要说明加减乘
除运算的程序设计,其它函数的程序设计和具体调用关系请查看程序清单。
3
加法计算还是比拟容易实现的,将两个传递过来的多项式链表进展复制操作
〔加法运算会破坏原来两个链表的结构〕,再将复制出来的两链表进展连接操作,
- 2 - / 23
word
即将第一个多项式链表的尾指针 next 指向第二个链表的第一个节点,最后进展
合并同类项操作。
开始
复制两个多项式
连接两个多项式
合并连接好的多项式的同类项
返回合并同类项后的多项式头指针
完毕
对于加法运算我们并不用考虑多项式是否为空的情况,为空时连接后合并同
类项处理后仍然返回空的多项式。
3
多项式的减法与加法类似,先将传递进来的两个多项式进展判断是否为空,
假如被减数为空时,减数按逐项系数取反操作。不为空时,被减数的每一项的指
数去查找减数中与之对应的项,找到后并同类项相减,把值赋给被减数与之对应
的同类项,再在减数中删除查找到的那个项〔节点〕。彻底查找后,将减数剩余
的节点取反后再连接到被减数的末尾,在进展合并同类项操作并返回头指针。
- 3 - / 23
word
开始
被减数是否为空
被减数每一项查找减数与之对应的项
找到未找到
加法操作,并将值赋给被减数
被减数与减数取反后连接
合并同类项
完毕
- 4 - / 23
剩余22页未读,继续阅读
资源评论
xxpr_ybgg
- 粉丝: 6532
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功