- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构实验报告
实验内容 实验一 线性表的基本操作及其应用
专 业 信息与计算科学
班 级 1301
学 号 33
姓 名 蒋丰沛
指导教师 刘长松
2015 年 月 日
熟悉线性表的基本运算在两种存储结构上的实现。掌握顺序表的存储结构形式及其描述和基本运算的实现。熟练掌握动态链表结构及有关算法的设计求两个多项式的相加运算
[问题描述]
用单链表存储一元多项式,并实现两个多项式的相加运算。
[基本要求]
(2)[测试数据] 由学生任意指定。
三、源代码
#include stdio.h
#include malloc.h
#define MAX 20 //多项式最多项数
typedef struct //定义存放多项式的数组类型
{
double coef; //系数
int exp; //指数
} PolyArray[MAX];
typedef struct pnode //定义单链表结点类型
{
double coef; //系数
int exp; //指数
struct pnode *next;
} PolyNode;
void DispPoly(PolyNode *L) //输出多项式
{
bool first=true; //first为true表示是第一项
PolyNode *p=L-next;
while (p!=NULL)
{
if (first)
first=false;
else if (p-coef0)
printf(+);
if (p-exp==0)
printf(%g,p-coef);
else if (p-exp==1)
printf(%gx,p-coef);
else
printf(%gx^%d,p-coef,p-exp);
p=p-next;
}
printf(\n);
}
void DestroyList(PolyNode *L) //销毁单链表
{
PolyNode *p=L,*q=p-next;
while (q!=NULL)
{
free(p);
p=q;
q=p-next;
}
free(p);
}
void CreateListR(PolyNode *L,PolyArray a,int n) //尾插法建表
{
PolyNode *s,*r;int i;
L=(PolyNode *)malloc(sizeof(PolyNode)); //创建头结点
L-next=NULL;
r=L; //r始终指向终端结点,开始时指向头结点
for (i=0;in;i++)
{
s=(PolyNode *)malloc(sizeof(PolyNode));//创建新结点
s-coef=a[i].coef;
s-exp=a[i].exp;
r-next=s; //将*s插入*r之后
r=s;
}
r-next=NULL; //终端结点next域置为NULL
}
void Sort(PolyNode *head) //按exp域递减排序
{
PolyNode *p=head-next,*q,*r;
if (p!=NULL) //若原单链表中有一个或以上的数据结点
{
r=p-next; //r保存*p结点后继结点的指针
p-next=NULL; //构造只含一个数据结点的有序表
p=r;
while (p!=NULL)
{
r=p-next; //r保存*p结点后继结点的指针
q=head;
while (q-next!=NULL q-next-expp-exp)
q=q-next; //在有序表中找插入*p的前驱结点*q
p-next=q-next; //将*p插入到*q之后
q-next=p;
p=r;
}
}
}
void Add(PolyNode *ha,PolyNode *hb,PolyNode *hc) //求两有序集合的并
{
PolyNode *pa=ha-next,*pb=hb-next,*s,*tc;
double c;
hc=(PolyNode *)malloc(sizeof(Pol
您可能关注的文档
最近下载
- ISO 8178-1-2017 Reciprocating internal combustion engines Exhaust emission measurement Part 1:Test-bed measurement systems of gaseous and particulate emissions往复式内燃机排放测量第1部分: 气体和颗粒物排放测量系统(2-1).pdf
- 11J508 建筑玻璃应用构造-栏板隔断地板 吊顶 水下玻璃 挡烟垂壁图集.pdf
- 私立门诊财务管理制度.docx
- 触电事故典型案例分析.pptx
- 行政法与行政诉讼法(第七版)胡锦光-全套课件.pptx
- 丰田自工序完结培训资料.pdf VIP
- 德育课程体系.doc
- 海工试验报告.doc
- 废旧轮胎在道路工程中的应用课件.pptx VIP
- 静脉留置针健康宣传册.doc VIP
文档评论(0)