1 / 5
文档名称:

数据结构(c )实验报告.doc

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

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

分享

预览

数据结构(c )实验报告.doc

上传人:2072510724 2020/6/30 文件大小:62 KB

下载得到文件列表

数据结构(c )实验报告.doc

文档介绍

文档介绍:兰州交通大学《数据结构与算法》课程设计姓名:张正邦学号:201408330班级:地信1401班专业:地理信息科学学院:测地学院任课教师:杜萍2015年12月28日题目一:(1)问题描述:,用单链表存储一元多项式,实现两个多项式的相加运算。(2)数据结构设计定义一个空链,构造一个多项式函数并初始化,用正序插入法插入多项式。多项式相加prep指向p的前驱,p、q分别指向多项式的第一项。因为是pb加到pa上,所以不需要使用q的前驱。第一种情况,p的指针域的值小于q的,指针只需要后移;第二种情况p的指针域的值大于q的,将q结点插入到p结点之前,最后系数相加对应多项式存储到pc中。(3)程序代码#include<iostream>usingnamespacestd;/*结点的定义*/typedefstructLNode{floatcoef;intexp;structLNode*next;}LNode;typedefLNode*Polynomial;/*多项式的初始化*/voidinitDuoX(Polynomial&Px){Px=newLNode;Px->next=NULL;}/*用正序插入法建立多项式*/voidcreatDuoX(Polynomial&Px,intn){initDuoX(Px);LNode*p,*q;p=Px;for(inti=0;i<n;i++){q=newLNode;cin>>q->coef>>q->exp;q->next=NULL;p->next=q;p=q;}}/*求多项式的长度*/intlengthDuoX(Polynomial&Px){LNode*p;intcount;p=Px->next;count=0;while(p!=NULL){p=p->next;count++;}returncount;}/*输出多项式*/voidoutputDuoX(Polynomial&Px){LNode*p;p=Px->next;inti;for(i=0;i<lengthDuoX(Px);i++){cout<<p->coef<<""<<p->exp<<"";p=p->next;}cout<<endl;}/*多项式相加*/LNode*addDuoX(Polynomial&Pa,Polynomial&Pb){LNode*p,*q;LNode*prep;//prep指向p的前驱。LNode*u;p=Pa->next;q=Pb->next;//p、q分别指向多项式的第一项。prep=Pa;//因为是Pb加到Pa上,所以此处不需要使用q的前驱。while(p&&q){if(p->exp<q->exp)//第一种情况,指针只需后移。{prep=p;p=p->next;}elseif(p->exp>q->exp)//第二种情况,将q结点插入到p结点之前。{u=q->next;q->next=p;prep->next