课程设计报告。
一、 一元多项式计算。
1、 需求分析。
以指数和系数为参数,构建多项式,并且能够按照指数降序排列建立并输出多项式,能够完成两个多项式的相加、相减,并将结果输入。本程序包含下列几个模块:
定义节点类型。
lnodetype creat_()创建表达式。
void output_(lnodetype head)输出表达式。
lnodetype plus_(lnodetype h1,lnodetype h2)表达式相加。
lnodetype minus_(lnodetype h1,lnodetype h2)表达式相减。
int main()调用各个函数。
2、概要设计。
① 存储结构:将存储结构定义为链表类型,具体定义如下:
typedef struct nodenodetype,*lnodetype;
创建表达式:该程序运用了尾插法,每输入一个系数和指数,就形成了一个新的节点。如果新生成节点的指数大于已生成节点指数,则将该节点与已生成的节点对调;如果新生成节点的指数与已生成的节点指数相同,则对两项合并,从而能够实现多项式按照指数降序排列。
输出表达式:依次输出已形成的节点。
表达式相加:“总和多项式”链表中的结点无需另生成,而应该从两个多项式的链表中摘取。其运算规则如下:
假设指针p1和p2分别指向多项式h1和多项式h2中当前指向的结点,通过比较他们的指数大小,我们得到3种情况:
a.指针p1所指结点的指数值小于指针p2所指结点的指数值,就摘取p2指针所指结点插入到“总和多项式”p3链表中去;
b.指针p1所指结点的指数值大于指针p2所指结点的指数值,就应摘取指针p1所指结点插入到“总和多项式”p3链表中去;
c.指针p1所指结点的指数值等于指针p2所指结点的指数值,则将两个结点中的系数相加,如果相加之和不为零,就修改p1所指结点的系数值,同时释放p2所指结点;反之,从多项式p1的链表中删除相应结点,并释放指针p1和p2所指结点。
表达式相减:两个多项式的减法实现,依然调用的是多项式加法的函数,只是在调用前,把多项式二的系数全部变为相反数lp->coe=-lp->coe,然后多项式一和多项式二相加,这样就实现了多项式的相减。
3、详细设计。
typedef struct nodenodetype,*lnodetype定义结点类型。
lnodetype creat创建表达式。
lnodetype head,l,lp,lp1;
int x,z;
head=(lnodetype)malloc(sizeof(nodetype));
head->next=null;
cout<<"当您输入的系数为零时,创建表达式结束"< cout<<"请输入系数:";
cin>>x;
if(x==0)
while(x!=0)
if(head->next==null)
return head;
void output_(lnodetype head输出表达式。
lnodetype lp;
lp=head->next;
if(lp->exp==0)
cout elsecout lp=lp->next; while(lp) cout< } lnodetype plus_(lnodetype h1,lnodetype h2表达式相加。 lnodetype h3,p1,p2,p3,lp; h3=(lnodetype)malloc(sizeof(lnodetype h3->next=null p1=h1->next; p2=h2->next; lp=h3; while(p1&&p2) if(p1->exp>p2->exp) p3=(lnodetype)malloc(sizeof(lnodetype)); p3->exp=p1->exp; p3->coe=p1->coe; p3->next=lp->next; lp->next=p3; lp=p3; p1=p1->next; else if(p1->expexp) p3=(lnodetype)malloc(sizeof(lnodetype)); p3->exp=p2->exp; p3->coe=p2->coe; p3->next=lp->next; lp->next=p3; lp=p3; p2=p2->next; else if(p1->coe+p2->coe!=0) p3=(lnodetype)malloc(sizeof(lnodetype)); p3->exp=p1->exp; p3->coe=p1->coe+p2->coe; p3->next=lp->next; lp->next=p3; lp=p3; p1=p1->next; p2=p2->next; elsep1=p1->next p2=p2->next; if(p2) while(p2) 东莞理工学院城市学院。题目 二叉排序树 专业 计算机科学与技术 本 年级 2010级计算机科学与技术专业 1 班。个人姓名 何振江。指导教师 张娟老师 时间 2010至2011第二学期第18周 地点 实验楼615机房 东莞理工学院城市学院计算机与信息科学系制。2011年 6月。实习报告的内容。一 问... 设计一个校园导游程序,为来访的客人提供信息查询服务。1 设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图 无向网 以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。2 存放景点代号 名称 简介等信息供用户查询。3 为来访客人提供图中任意景点相关信息的查询。4 为来访客人提供... 河北科技大学。课程设计报告。学生姓名学号。专业班级。课程名称数据结构。学年学期 2 012 2 013学年第 2 学期指导教师 黄春茹。2 0 13年 6 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...数据结构课程设计报告
数据结构课程设计报告
数据结构课程设计报告