网站大量收购独家精品文档,联系QQ:2885784924

数据结构实验汇总.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构实验汇总

实验一:针对链式或顺序存储的线性表实现指定的操作 题1 问题描述:有两个指数递减的一元多项式,写一程序先求这两个多项式的和,再求它们的积。 #include iostream using namespace std; typedef struct Poly//定义一个多项式 { float coef;//多项式系数 int exp;//多项式指数 struct Poly *next; }Poly; typedef Poly *Polynomial;//重定义一个多项式名字 void creatPoly(Polynomial P,int n) { P = new Poly; P-next=NULL; Poly *p,*q; p=P; for(int i=1;i=n;i++) { q=new Poly; cout第i项的系数:; cinq-coef;//输入系数 cout第i项的指数:; cinq-exp; q-next=NULL; p-next=q; p=q; } } int lengthPoly(Polynomial P)//计算多项式项数的函数 { Poly *p; int i; p=P-next; i=0; while(p!=NULL) { p=p-next; i++; } return i; } void outputPoly(Polynomial P)//输出合并后的多项式 { Poly *p; p=P-next; int i; for(i=0;ilengthPoly(P);i++) { coutp-coef^ p-exp +; p=p-next; } cout0endl; } Poly * addPoly(Polynomial Pa,Polynomial Pb)//A与B相加 { Poly *p,*q,*h,*s; p=Pa-next; q=Pb-next; h=Pa; while (pq)//A与B都不为0 { if(p-expq-exp)//A的指数小于B的指数 { Pb-next=q-next; s=q; h-next=s; s-next=p; h=s; q=Pb-next; } else if(p-exp q-exp)//A的指数大的话 { h=p; p=p-next; } else//A与B的指数相等的话 { p-coef=p-coef+q-coef;//A与B对应项系数求和 if(p-coef==0)//系数和为0 { Poly *temp1; Poly *temp2; temp1=p; temp2=q; h-next=p-next;//删除该项数 p=p-next; q=q-next; delete temp1; delete temp2; } else//A与B的指数相等的话,系数和不为0 { Poly *temp; temp=q; h=p; p=p-next; q=q-next; delete temp; } } } if(q) h-next=q; delete Pb; return Pa; } void main() { Polynomial Pa,Pb,Pc;//定义三个多项式类型的变量 int a,b;//a,b为两个多项式的整体的项数 cout请输入第一个一元多项式的项数:; cina; cout请输入第二个一元多项式的项数:; cinb; cout请输入一元a项式(先输入系数,再输入指数):; creatPoly(Pa,a); cout请输入一元b项式(先输入系数,再输入指数):; creatPoly(Pb,b); Pc=addPoly(Pa,Pb); cout相加得到的多项式:; outputPoly(Pc); } #include?iostream using?namespace?std; typedef?struct?Poly//定义一个多项式 { float?coef;//多项式系数 int???exp;//多项式指数 struct?Poly?*next; }Poly; typedef?Poly?*Polynomial;//重定义一个多项式名字 ?? void?creatPoly(Polynomial?P,int?n) { P?=?new?Poly; P-next=NULL; ? Poly?*p,*q; p=P; ? for(int?i=1;i=n;i++) { q=new?Poly; cout第i项的系数:; cinq-coef; cout第i项的指数:; cinq-exp; q-next=NULL; p-next=q; p=q; } } ? int?lengthPoly(Polyn

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档