- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多项式的加减乘除c
#includeiostream
#includecmath
using namespace std;
//多项式节点的定义
struct Term{
float coef; // 系数
int exp; // 指数
Term * link;
Term(float c,int e,Term *next=NULL)
{
coef=c;
exp=e;
link=next;
}
Term* InsertAfter(float c,int e);
friend ostream operator(ostream,const Term);
};
//多项式类的定义
class Polynomial{
public:
Polynomial(); //构造函数
Polynomial(Polynomial R); //复制构造函数
int maxOrder(); // 计算最大阶数,并返回
Term * getHead() const { return first;} //取得多项式单链表的表头指针
private:
Term *first;
friend ostream operator(ostream,const Polynomial); //重载运算符
friend istream operator(istream,const Polynomial); //重载运算符
friend Polynomial operator + (Polynomial,Polynomial); //重载运算符+
friend Polynomial operator * (Polynomial,Polynomial); //重载运算符*
};
//在当前由this指针指示的项后面插入一个新项
Term* Term::InsertAfter(float c,int e)
{
link=new Term(c,e,link); //创建一个新节点,自动链接
return link; // 插入到this后面
}
// Term的友元函数,输出一个节点x的内容到输出流out中
ostream operator(ostream out,const Term x)
{
if(x.coef==0) //系数为零,不输出
return out;
outx.coef; //输出系数
switch(x.exp){ //输出指数
case 0: break;
case 1: outX;break;
default:
outXx.exp;
break;
}
return out;
}
//Polynomial类的构造函数,建立一个空链表
Polynomial::Polynomial()
{
first=new Term(0,-1);
}
//复制构造函数,用已有的对象初始化当前对象
Polynomial::Polynomial(Polynomial R)
{
first=new Term(0,-1);
Term *destptr=first,*srcptr=R.getHead()-link;
while(srcptr!=NULL){
destptr-InsertAfter(srcptr-coef,srcptr-exp);
srcptr=srcptr-link;
destptr=destptr-link;
}
}
//计算最大阶数,当多项式按升序排列时,最后一项是指数最大的
int Polynomial::maxOrder()
{
Term* current=first;
while(current-link!=NULL)
current=current-link;
return current-exp;
}
//Polynomial类的友元函数,从输入流in输入各项,用尾插法建立一个多项式
istream operator(istream in,Polynomial x)
{
Term* rear=x.getHead(); // rear是尾指针
int c,e;
while(1)
{
coutInput a term(coef,exp):endl;
ince;
if(e0) break; //e0,退出循环,输入结束
rear=rear-InsertAfter(c,e);
}
return in;
}
//Polynomial类的友元函数:输出带 附加头结点的多项式链表x
ostream operator(ostream out,
您可能关注的文档
- 基于ProE的宽带链锻造立环维辅助分析.doc
- 基于RS数据存储器与工业现场PLC组成的监测数据采集存储系统的实现.doc
- 基于Project的项目管理.doc
- 基于SARIMA和次曲线模型增值税预测分析.doc
- 基于proe和辛辛那提马刀的平面凸轮加工.doc
- 基于ProE的圆柱齿轮减速器(本人毕业论文).doc
- 基于SC的直流电机PWM调速系统.doc
- 基于SPSS_的上市公司财务报表分析.doc
- 基于单片机的(,)循环码编程.doc
- 基于单片机的超大容量存储器接口设计更新于.doc
- 2020版 沪科技版 高中生物学 必修2 遗传与进化《第4章 生物的进化》大单元整体教学设计[2020课标].docx
- 情绪价值系列报告:春节消费抢先看-国证国际证券.docx
- 精品解析:北京市东直门中学2023-2024学年高二下学期3月阶段性考试(选考)物理试题(解析版).docx
- 2020版 沪科技版 高中生物学 必修2 遗传与进化《第4章 生物的进化》大单元整体教学设计[2020课标].pdf
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第1章 人体的内环境和稳态》大单元整体教学设计[2020课标].pdf
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第1章 人体的内环境和稳态》大单元整体教学设计[2020课标].docx
- 液冷盲插快接头发展研究报告-全球计算联盟.docx
- 精品解析:北京市东直门中学2023-2024学年高二下学期3月阶段性考试(选考)物理试题(原卷版).docx
- 精品解析:北京市东直门中学2024届高三考前练习数学试卷(解析版).docx
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第2章 人体的神经调节》大单元整体教学设计[2020课标].docx
文档评论(0)