《数据结构A》第02章——03.pptVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
陈慧南 2006.2 2.4 多项式的算术运算 2.4.3???多项式的C++类 class Polynominal { public: Polynominal(); ~ Polynominal(); void AddTerms(istream in); //建立多项式链表 void Output(ostream out) const; //输出多项式 void PolyAdd(Polynominal r); //多项式相加 … 2.4.4???多项式类的实现 构造函数 Polynominal::Polynominal() { theList=new Term(0,?1); theList-link=theList; } 5.2.5 多项式的输入和输出 输入多项式 void Polynominal:: AddTerms(istream in) { Term* q=theList; int c,e; for(;;){ coutInput a term(coef,exp):\nendl; ince; if (e0) break; q=q-InsertAfter(c,e); } } * * 数据结构 Data Structures in C++ 多项式相加 p(x)=3x14?8x8+6x2+2 q(x)=2x10+4x8?6x2 q(x)?p(x)+q(x) 结果:q(x) =3x14+2x10?4x8+2 多项式的逻辑结构:视为线性表 p(x)=3x14-8x8+6x2+2 数据元素 (coef,exp) 表示多项式项 coef·xexp ,coef是该项的系数,exp是变元x的指数。 多项式的存储表示 p(x)=3x14-8x8+6x2+2 ( (3,14),(-8,8),(6,2),(2,0) ) 顺序表示 线性表长度事先难以确定; 算术运算需插入和删除元素。 多项式的链接表示 多项式的项 2.4.1????项结点类 项结点类 Term* InsertAfter(int c,int e) 构造一个新项(c,e)结点,插在*this项之后,函数返回新项结点的地址。 class Term { public: Term(int c,int e); //构造函数1 Term(int c,int e,Term* nxt); //构造函数2 Term* InsertAfter(int c,int e); private: int coef; int exp; Term *link; friend ostream operator(ostream ,const Term ); //重载“”,输出多项式的一项 friend class Polynominal; }; 构造函数 Term::Term(int c,int e):coef(c),exp(e) { link=0; } Term::Term(int c,int e,Term *nxt):coef(c),exp(e) { link=nxt; } Term::Term(int c,int e) { coef=c;exp=e; link=0; } InsertAfter函数实现 Term* Term::InsertAfter(int c,int e) { link=new Term(c,e,link); return link; } 调用语句:q=q-InsertAfter(c,e); Term::Term(int c,inte,Term *nxt) :coef(c),exp(e) { link=nxt; } 重载输出运算符 ostream operator (ostream out, const Term val) { //用 -4x^2 表示 -4x2。 if(val.coef=?=0) r

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档