资源描述:
《一元稀疏多项式简单计算器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、~浏水浮芸QQ632069015《数据结构》课程设计报告一元稀疏多项式计算器、迷宫问题、成绩分析问题、图的基本操作与实现以及背包问题的求解学院(系):计算机班级:软件工程4班学生姓名:江志伟学号10803080409指导教师:时间:从2010年01月11日到2010年01月15日70一、课程设计概述:本次数据结构课程设计共完成五个题:一元稀疏多项式计算器、迷宫问题、成绩分析问题、图的基本操作与实现以及背包问题的求解使用语言:C编译环境:TC3.0二、课程设计题目一[实验内容]一元稀疏多项式计算器[问题描述]设计一个一元稀疏多项式简单计算器。[基本要
2、求]一元稀疏多项式简单计算器的基本功能是:(1)输入并建立多项式;(2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,,,,,,,cn,en,其中n是多项式的项数,ci,ei,分别是第i项的系数和指数,序列按指数降序排序;(3)多项式a和b相加,建立多项式a+b;(4)多项式a和b相减,建立多项式a-b;(5)计算多项式在x处的值。(6)计算器的仿真界面。(选做)[概要设计]-=ADT=-Test1:主类,程序的启动Item:项,表示多项式中的某一项Ploynomial:多项式类[存储结构]Item属性:privatedoublec;
3、//系数privateinte;//指数Item方法:publicvoidsetC(doublec){//设置系数}publicvoidsetE(inte){//设置指数}publicdoublegetC(){//获取系数70}publicintgetE(){//获取指数}publicdoubleresultItem(doublex){//在x处Item的值}privatedoublefac(doublex,inte){//求x的e次方,当e为整数时}Polynomial属性:privateLinListlist;//单链表Polynomial方法
4、:publicPolynomial(){}publicPolynomial(Item[]item)throwsException{//构造函数}privatevoidinitItem(Item[]item){//初始化Item数组,使其是按降序排序}publicintgetItemNum(){//获取项数}publicvoidprint()throwsException{//打印多项式不空行}publicvoidprintln()throwsException{//打印多项式空行}publicLinListgetLinList(){//获取单链表}
5、70publicvoidprintPolynomial()throwsException{//只打印项数、系数和指数}publicPolynomialadd(Polynomialother)throwsException{//多项式相加}}publicPolynomialsubtraction(Polynomialother)throwsException{//多项式相减}publicdoubleresult(doublex)throwsException{}[详细设计]Item类:publicclassItem{privatedoublec;//
6、系数privateinte;//指数publicItem(){}publicItem(doublec,inte){this.c=c;this.e=e;}publicvoidsetC(doublec){this.c=c;}70publicvoidsetE(inte){this.e=e;}publicdoublegetC(){returnc;}publicintgetE(){returne;}publicdoubleresultItem(doublex){returngetC()*fac(x,getE());}privatedoublefac(doub
7、lex,inte){//求x的e次方,当e为整数时if(e==0)return1;returnx*fac(x,e-1);}}Polynomial类:importjava.util.*;publicclassPolynomial{//多项式类privateLinListlist;//单链表publicPolynomial(){list=newLinList(0,null);}publicPolynomial(Item[]item)throwsException{//构造函数intn=item.length;list=newLinList(n,null
8、);if(n==0){return;70}initItem(item);try{for(inti=0;i