数据结构 链表应用 一元多项式运算.doc

数据结构 链表应用 一元多项式运算.doc

ID:25610295

大小:85.00 KB

页数:16页

时间:2018-11-21

数据结构 链表应用 一元多项式运算.doc_第1页
数据结构 链表应用 一元多项式运算.doc_第2页
数据结构 链表应用 一元多项式运算.doc_第3页
数据结构 链表应用 一元多项式运算.doc_第4页
数据结构 链表应用 一元多项式运算.doc_第5页
资源描述:

《数据结构 链表应用 一元多项式运算.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据结构链表应用一元多项式运算院系:信息工程学院组号:2组员:田志泽、孙伟伟、程蜜蜜张剑、贾明、王忠愿班级:10计科3班B组日期:20120322计算机科学与技术一元多项式运算功能具体实现部分#include#include"K:应用数据结构DataStructSimpleLinkList.h"//需将线性链表SimpleLinkList包含在内structPolyData//一元多项式的数据部分结构定义{doublecoef;//系数intexpn;//指数PolyData(){coef=0;expn=0;}PolyData(doubl

2、ec,inte){coef=c;expn=e;}};classPolynomial//定义一元多项式类{protected:SimpleLinkListPoly;//将一元多项式定义为线性链表结构public:Polynomial(){};voidADD(Polynomial&p,Polynomial&q);//实现一元多项式的加法运算voidSUB(Polynomial&p,Polynomial&q);//实现一元多项式的减法运算voidMUL(Polynomial&p,Polynomial&q);//实现一元多项式的乘法运算voidoperato

3、r=(Polynomial&cp){Poly=cp.Poly;}//实现一元多项式的复制运算voidSort();//将一元多项式按指数由小到大排列voidUnit();//以Sort()为基础合并多项式中指数相同的项并清除系数为0的项voidShow();//实现多项式的输出显示friendvoidCinhelp();//辅助输入};voidPolynomial::ADD(Polynomial&p,Polynomial&q){Poly.Clear();//将当前多项式的链表请空Poly.ADD(p.Poly,q.Poly);//将得链表直接添加到当前链表中Sort()

4、;//对当前链表进行并项去零操作}voidPolynomial::SUB(Polynomial&p,Polynomial&q){PolyDatae;Polynomialtmp;while(tmp.Poly.length()

5、:MUL(Polynomial&p,Polynomial&q){Poly.Clear();//将当前多项式的链表请空inti=1,j;PolyDatae,ei,ej;while(i<=p.Poly.length())//取出p中的每一个元素{p.Poly.GetElem(i,ei);j=1;i++;while(j<=q.Poly.length())//取出q中的每一个元素{q.Poly.GetElem(j,ej);e.coef=ei.coef*ej.coef;//产生的新项的系数为pq两项系数相乘e.expn=ei.expn+ej.expn;//产生的新项的指数为pq两

6、项指数相加Poly.SetElem(e);//将产生的新项存入当前多项式的链表中j++;}}}voidPolynomial::Sort(){inti=1,j;PolyDataei,ej;while(i<=Poly.length()-1)//取出当前多项式链表中的每一个元素{Poly.GetElem(i,ei);j=i+1;while(j<=Poly.length())//与当前元素之后的每一个元素今次那个比较{Poly.GetElem(j,ej);if(ei.expn>ej.expn)//若当前元素的指数大于其后的某一个元素时{//交换两个元素Poly.ReSetEle

7、m(i,ej);Poly.ReSetElem(j,ei);ei=ej;//对应的两项交换后,将i项当前值更新}j++;}i++;}}voidPolynomial::Unit(){inti=1;PolyDataei,ej;Poly.GetElem(i,ei);//获取第一项的数据部分while(i<=Poly.length()-1){Poly.GetElem(i+1,ej);//获取后一项的数据部分if(ei.coef==0){Poly.DelElem(i);ei=ej;}//当第i个元素的系数为0时将该项清除elseif(ej.coef=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。