- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多项式运算器与二叉树操作器数据结构实验报告
PAGE \* MERGEFORMAT 60
数据结构实验报告
中国科学技术大学
中国科学技术大学数据结构实验报告程序设计实验
实验一 多项式运算器
实验二 二叉树的操作
Will
指导老师 顾卫兵
2012/4/20
多项式运算器
前言
线性表是最简单、最常用的一种数据结构。一元稀疏多项式可以用一个线性链表表示,本实验结合C语言知识,通过对线性表的操作实现一元稀疏多项式的创建、销毁、清空、复制、基本运算等功能。
多项式用带头结点的单链表Polynomial表示,链表结点按指数有序排列。为方便对多个多项式进行各项操作,采用头指针数组head[MAX+1]来存储各多项式链表的头指针。
coefexpnnext Polynomial
#define MAX 10 //头指针数组的大小
typedef struct Polynomial //多项式的数据类型定义
{
float coef; //系数
int expn; //指数
struct Polynomial *next;
}*Polyn,Polynomial;
Polyn head[MAX+1]; //头指针数组
程序功能
用户界面采用菜单驱动方式,界面简洁而不简约,方便操作,人机互动性、用户体验性强。
菜单界面及所包含的程序功能如下:
+++++++++++++++++++++++++++++++++
欢迎使用一元多项式运算器
0.退出;
1.创建多项式;
2.显示多项式;
3.复制多项式;
4.多项式求和;
5.多项式求差;
6.多项式求值;
7.销毁多项式;
8.清空多项式;
9.修改多项式;
10.多项式微分;
11.多项式不定积分;
12.多项式定积分;
13.多项式相乘;
+++++++++++++++++++++++++++++++++
请选择你想进行的操作:
程序原文
//头文件
#includestdio.h
#includemalloc.h
#includestdlib.h
#includemath.h
#define MAX 10 //头指针数组的大小
//多项式的数据类型定义
typedef struct Polynomial
{
float coef; //系数
int expn; //指数
struct Polynomial *next;
}*Polyn,Polynomial;
Polyn head[MAX+1]; //头指针数组,用来标记多项式
//创建多项式
void OrderInsert(Polyn p,Polyn h) //头结点是h,新结点p
{ //顺序插入结点
if(p-coef==0)
free(p); //若系数为0释放结点
else
{
Polyn q1,q2;
q1=h;
q2=h-next;
while(q2p-expnq2-expn)
{ //查找插入位置
q1=q2;
q2=q2-next;
}
if(q2p-expn==q2-expn)
{ //将指数相同相合并
q2-coef+=p-coef;
free(p);
if(!q2-coef)
{ //若系数为0释放结点
q1-next=q2-next;
free(q2);
}
}
else
{ //指数为新时将结点插入
p-next=q2;
q1-next=p;
}
}
}
void CreatePolyn(Polyn p)
{ //建立一个头指针为head[i]一元多项式
Polyn q;
q=(Polyn)malloc(sizeof(struct Polynomial));
printf( 请输入某项的系数与指数:);
scanf(%f %d,q-coef,q-expn);
while(q-coef!=0)
{
OrderInser
您可能关注的文档
最近下载
- 配电箱采购合同协议书范本详细(2025年).docx VIP
- 部编版语文写字表六年级上册字帖.pdf VIP
- (高清版)B/T 24421.1-2023 服务业组织标准化工作指南 第1部分:总则.pdf VIP
- 2022年洛阳理工学院教师招聘笔试试题及答案解析.docx VIP
- 城市停车设施规划导则.docx VIP
- 天然气发电厂-燃气-蒸汽联合循环发电机组PPT课件.pptx VIP
- 《《中文核心期刊目录(2017年版)》》.doc VIP
- 基孔肯雅热防控技术指南(2025年版)测试题及参考答案.docx VIP
- 工程测量技术 电子水准仪 电子水准仪.ppt VIP
- 党支部贯彻落实八项规定扎实推进作风建设工作专题党课ppt课件.pptx VIP
文档评论(0)