- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构上机报告-实现一元多项式抽象数据类型
数据结构上机实习报告 第一次上机实习题目 实现一元多项式抽象数据类型 班级: 121141 姓名: 王庆涛 学号: 20141002513指导老师: 郭艳完成日期: 2016.04.211、 需求分析1.1问题描述和规格说明已知一元n次多项式:设计程序实现一元n次多项式的抽象数据类型,模拟一元n次多项式的操作行为。包括:数据元素:ai,存储结构,逻辑操作:1、构造一个空的多项式2、多项式插入新的一项3、多项式合并同类项4、多项式的加法Pn(x)+Qn(x)=Rt(x)5、多项式的乘法Pn(x)*Qn(x)=Rt(x)6、打印多项式7、计算多项式的值 1.2功能需求1)首先构造两三个多项式供用户使用;2)用户可以进行添加多项式或是添加多项式中的项;3)或是修改其中的项,或是对多项式进行删除,或仅仅删除其中的某项;4)或是查看当前的某项多项式5) 用户赋予多项式变量x值后可以计算多项式的值6)可以计算两个或是多个多项式的和;7)可以计算两个以上多项式的乘积8)可以对多项式中的同类项进行合并2、设计(目标:有效组织与处理数据)2.1抽象数据类型:因为每个多项式有n个项,每个项包含不同的系数和指数, 多项式的系数ai抽象为整数,变量x也是整数,x的次幂n也是整数,故多项式的每一项抽象为一个Nape类型的节点,包括:ai、x、n数据元素,最后整个一元n次多项式抽象为Polynomial数据类型。详细设计如下:Nope类型设计为:class Nope{friend class Polynomial; //设置Polynomial为Nope的友元类,方便Polynomial类访问Nope的私有数据成员private:int m_factor; //项系数int m_times; //次幂public:Nope(int factor=0,int times=0);//构造函数~Nope();int GetFoctor()const; //获取项系数int GetTimes()const; //获取次幂void SetFactor(int factor); //设置项系数void SetTimes(int times); //设置次幂Nope operator=(const Nope item); //赋值=int operator=(const Nope item); //比较=//比较次幂的大小friend ostream operator(ostream out, const Nopeitem); //输出Nope(const Nope item); //复制构造};Polynoomial数据类型设计为:class Polynomial{private:int m_x; //多项式中的变量xint m_size; //多项式的项数LinListWithRear Nope m_list; //存储多项式的带尾指针的单向链表public:Polynomial(int size = 0,int factor= 1);//可以构造系数为factor,个数为size的多项式,次幂依次增长~Polynomial();Polynomial(const Polynomialpoly);int GetM_size()const; //获取多项式的项数int GetM_x()const;int GetM_factor(const int index)const; //获取第index项的系数//从第1项开始(而不是第0项)int GetM_times(const int index)const; //获取第index项的次幂inline double GetM_Number(const int index)const; //获取第index项的值,因为计算多项式的值时频繁调用,所以设计为内联函数int Getfactor(const int times)const; //获取次幂为times的项的系数 //失败或没有,返回0int GetIndex(const int times)const; //获取次幂为times的项的下标//从1开始double GetNumber(const int times)const; //获取次幂为times的项的值 //失败或没有 返回0double GetTotalNumber()const; //获取整个多项式的值int SetM_factor(const int index,const int factor); //设置第index项的系数//从第1项开始(而不是第0项)int
文档评论(0)