1 / 32
文档名称:

数据结构实验报告.docx

格式:docx   大小:323KB   页数:32页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实验报告.docx

上传人:乘风破浪 2018/9/21 文件大小:323 KB

下载得到文件列表

数据结构实验报告.docx

相关文档

文档介绍

文档介绍:西南科技大学
数据结构
实验报告
专业班级____软件1004____
任课教师____李学俊_____ _
姓名______杨强_______
学号____20101469_____
实验地点____东六E108_____
2011年11月22日
实验一
一元多项式的加法、减法及乘乘法运算
【问题描述】
一元多项式的所有运算都可以用其加减运算加以实现。设计一个程序,实现一元多 项式的加法、减法及乘法运算。
【基本要求】
(1)、分别采用顺序存储和单链表作存储结构。在顺序存储中,一个多项式对应一个结构体数组,数组中的每个节点对应该多项式中的一项,所以每个节点至少包括系数域、指数域。在链式存储中,一个多项式对应一个单链表,链表中的每个节点对应该多项式中的一项,所以每个节点至少包括系数域、指数域及指向下一项的指针域。
(2)、一元多项式要求从键盘上加以接收。
(3)、运算规则如数学上的多项式的计算,要求能够在屏幕上输出相应的数据。
【主要功能】
实现两个单链表的加法、减法及乘法运算。
【思路分析】
存储结构: 链式存储;
算法:
加法:两个多项式由键盘接收,输入包括系数部分和指数部分,程序接收完数据后,将按指数对多项式的项进行排序,然后合并同类项,即得到最简多项式。将两个多项式进行合并同类项操作,即达到多项式相加的目的。
减法:在多项式的减法操作时,将减数的各项系数取反,再与被减多项式进行合并可得多项式相减的结果。
乘法:首先进行指数的加减运算,然后做累加,即得多项式相乘的结果。
【关键函数】
void sort_HtoL(LinkList *L); //对表L中各项按降序排列
void Simplify(LinkList *L); //对表L进行化简
void Sum(LinkList *LA,LinkList *LB,LinkList *&LC) //执行相加运算
void Sub(LinkList *LA, LinkList *LB) //执行相减运算
void Multi(LinkList *LA, LinkList *LB, LinkList *&L)//执行相乘运算
【具体算法】
//按指数降序排列;
void sort_HtoL(LinkList *L)
{
LinkList *p, *q;
int temp_coef, temp_exp;
for(p=L->next; p->next != NULL; p=p->next)
for(q=p->next; q != NULL; q=q->next)
{
if(p->exp < q->exp)
{
temp_exp = p->exp; //交换指数;
p->exp = q->exp;
q->exp = temp_exp;
temp_coef = p->coef; //同时交换系数;
p->coef = q->coef;
q->coef = temp_coef;
}
}
}
//合并同类项;
void Simplify(LinkList *L)
{
LinkList *p;
p = L->next;
while(p->next != NULL)
{
if(p->exp == p->next->exp)
{
p->coef = p->coef + p->next->coef; //合并;
p->next = p->next->next;
}
else
{
p = p->next;
}
}
}
//LA + LB = LC;
void Sum(LinkList *LA,LinkList *LB,LinkList *&LC)
{
LinkList *p,*q,*s,*r;
p=LA->next;
q=LB->next;
int temp;
LC=(LinkList *)malloc(sizeof(LinkList)); //创建头结点;
r = LC;
while (p!=NULL && q!=NULL)
{
if (p->exp > q->exp)
{
s=(LinkList *)malloc(sizeof(LinkList)); //复制结点;
s = p;
r->next=s;
r=s;
p=p->next; //指向LA的p指针后移;
}
else if (p->exp < q->exp)
{
s=(LinkList *)malloc(sizeof(Link

最近更新

山东省东营市事业单位招聘考试(职业能力倾向.. 149页

山东省枣庄市事业单位招聘考试(职业能力倾向.. 148页

山东省济南市事业单位招聘考试(职业能力倾向.. 151页

山东省潍坊市事业单位招聘考试(职业能力倾向.. 148页

山东省菏泽市牡丹区事业单位招聘历年高频难、.. 59页

广东省肇庆市选调生考试(行政职业能力测验).. 147页

广西省梧州市选调生考试(行政职业能力测验).. 147页

惠州市环境保护局直属事业单位2024年公开招聘.. 60页

梅州2024年上半年市直事业单位拟聘用人员招聘.. 59页

江苏省南京市事业单位招聘考试(职业能力倾向.. 148页

江苏省常州市事业单位招聘考试(职业能力倾向.. 149页

江苏省扬州市事业单位招聘考试(职业能力倾向.. 148页

江苏省苏州市事业单位招聘考试(职业能力倾向.. 147页

江西环境工程职业学院2024事业单位招聘高层次.. 59页

江西省景德镇市事业单位招聘考试(职业能力倾.. 148页

江西省鹰潭市事业单位招聘考试(职业能力倾向.. 147页

河南漯河源汇区乡村振兴局招聘公益性岗位工作.. 60页

浙江台州市教师教育院选聘工作人员2人历年高频.. 59页

浙江省嘉兴市事业单位招聘考试(职业能力倾向.. 149页

浙江省温州市事业单位招聘考试(职业能力倾向.. 146页

浙江省绍兴市事业单位招聘考试(职业能力倾向.. 146页

浙江省金华市事业单位招聘考试(职业能力倾向.. 149页

湖北省地税系统2024年未参加人员历年高频难、.. 60页

湖南科技学院2024事业单位招聘拟聘历年高频难.. 59页

甘肃省平凉地区选调生考试(行政职业能力测验.. 148页

福建省南平市事业单位招聘考试(职业能力倾向.. 147页

福建省泉州市事业单位招聘考试(职业能力倾向.. 147页

贵州省黔西南州委党校2024年教师招聘招聘历年.. 58页

2024年建筑施工安全生产月活动方案5篇 25页

消防工程施工方案 13页