




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构实验参考代码实验一:针对链式或顺序存储的线性表实现指定的操作题1 问题描述:有两个指数递减的一元多项式,写一程序先求这两个多项式的和,再求它们的积。基本要求:用带表头结点的单链表作为多项式的存储表示;要建立两个单链表;多项式相加就是要把一个单链表中的结点插入到另一个单链表中去,要注意插入、删除操作中指针的正确修改。题2 问题描述:编号为1,2,n的n个人围坐在一圆桌旁,每人持有一个正整数的密码。从第一个人开始报数,报到一个预先约定的正整数m时,停止报数,报m的人退席,下一个人又重新从1开始报数,依此重复,直至所有的人都退席。编一程序输出他们退席的编号序列。例如,设m=20,n=7,7个人的密码依次是3,1,7,2,4,8,4,则退席的人的编号依次为6,1,4,7,2,3,5。基本要求:用不带表头结点的循环单链表表示围成圆圈的n个人;要求建立此循环单链表;某人离席相当于删除一个结点,要正确设置程序中循环终止的条件和删除结点时指针的修改变化。/实验1.1代码#includeusing namespace std;struct poNodefloat coef;int expn;poNode *next;class Polynomailpublic:Polynomail(int m=0); Polynomail();int Print();int PolynLength();Polynomail &AddPolyn(Polynomail &P2,Polynomail &P3);Polynomail &MultiplyPolyn(Polynomail &P2,Polynomail &P4);private:int InsertpoNode();poNode *first;int main()int m;cout输入多项式P1项数m;Polynomail P1(m);if(P1.PolynLength()!=m)couterror!endl;return -1;cout输入多项式P2项数m;Polynomail P2(m);if(P2.PolynLength()!=m)couterror!endl;return -1;cout多项式P1:;P1.Print();cout多项式P2:;P2.Print();Polynomail P3;P3=P1.AddPolyn(P2,P3);coutP1+P2:;P3.Print();Polynomail P4;P4=P1.MultiplyPolyn(P2,P4);coutP1*P2:;P4.Print();return 0;int Polynomail:InsertpoNode()if(first=NULL)first=new poNode;cout输入系数和指数:first-coef;cinfirst-expn;first-next=NULL;elsepoNode *p=new poNode;poNode *q=first;cout输入系数和指数:p-coef;cinp-expn;poNode *r;while(q-next!=NULL&q-expnexpn)r=q;q=q-next;if(q=first&q-next!=NULL) if(q-expn=p-expn) return -1;p-next=q;first=p;else if(q=first&q-next=NULL)if(p-expnexpn)p-next=q;first=p;else if(p-expnq-expn)q-next=p;p-next=NULL;else return -1;else if(q-next=NULL&q!=first&p-expnq-expn)q-next=p;p-next=NULL;elseif(q-expn=p-expn)return -1;r-next=p;p-next=q;return 0;Polynomail:Polynomail(int m)first=NULL;int i;for(i=0;im;i+)int r=InsertpoNode();if(r=-1) break;int Polynomail:Print()poNode *p=first;coutf(x)=;if(first=NULL) coutNULLendl;while(p!=NULL)coutcoef*xexpn;if(p-next=NULL) coutendl;else coutnext;return 0;Polynomail:Polynomail()poNode *p=first;while(p!=NULL)p=p-next;delete first;first=p;int Polynomail:PolynLength()int i=0;poNode *p=first;while(p!=NULL)p=p-next;i+;return i;Polynomail &Polynomail:AddPolyn(Polynomail &P2,Polynomail &P3)poNode *p=first;poNode *q=P2.first;P3.first=new poNode;poNode *r=P3.first;while(p!=NULL&q!=NULL)if(p-expn=q-expn) r-coef=p-coef+q-coef;r-expn=p-expn;p=p-next;q=q-next;else if(p-expnexpn)r-coef=p-coef;r-expn=p-expn;p=p-next;elser-coef=q-coef;r-expn=q-expn;q=q-next;if(p!=NULL|q!=NULL)r-next=new poNode;r=r-next;else r-next=NULL;while(p!=NULL|q!=NULL)if(p!=NULL)r-coef=p-coef;r-expn=p-expn;p=p-next;elser-coef=q-coef;r-expn=q-expn;q=q-next;if(p!=NULL|q!=NULL)r-next=new poNode;r=r-next;else r-next=NULL;return P3;Polynomail &Polynomail:MultiplyPolyn(Polynomail &P2,Polynomail &P4)poNode *p=first;while(p!=NULL)Polynomail P3;poNode *q=P2.first;P3.first=new poNode;poNode *r=P3.first;r-coef=p-coef*q-coef;r-expn=p-expn+q-expn;q=q-next;while(q!=NULL)r-next=new poNode;r=r-next;r-coef=p-coef*q-coef;r-expn=p-expn+q-expn;q=q-next;r-next=NULL;P4=P4.AddPolyn(P3,P4);p=p-next;return P4;/实验1.2代码#includeusing namespace std;struct numNodeint key;int num;numNode *next;int CreatCircleList(numNode *now,int length);int Loop(numNode *now,int m);int main()int m;int n;numNode *now=new numNode;cout请输入人数:n;cout请输入初始数m:m;CreatCircleList(now,n);Loop(now,m);return 0;int CreatCircleList(numNode *now,int length)if(length=0)couterror!num=1;cout请输入编号为1的人拥有的密码。now-key;numNode *p=now;int i;for(i=1;inext=new numNode;p=p-next;p-num=i+1;cout请输入编号为i+1的人拥有的密码。p-key;p-next=now;ret
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 监理工作(告知)交底记录
- 九年级化学上册 第五单元 化学方程式 课题2 如何正确书写化学方程式教学设计 (新版)新人教版
- 一年级语文下册 识字(一)4猜字谜教学设计 新人教版
- 初中英语人教新目标 (Go for it) 版七年级上册Unit 4 Wheres my schoolbagSection A第1课时教案设计
- 二年级美术下册教案-《第13课 怪兽》教学设计人美版
- 人教版九年级美术上册教学设计:2.1 剪 纸
- 2024台州市黄岩国有资本投资运营集团有限公司下属公司公开招聘7名工作人员笔试参考题库附带答案详解
- 九年级化学下册 第六章 金属6.3 金属矿物与冶炼教学设计 科粤版
- 房地产开发管理流程培训
- 七年级生物上册 3.2.3植物的开花结果教学设计 (新版)新人教版
- GB/T 17395-2008无缝钢管尺寸、外形、重量及允许偏差
- GB/T 11834-2011工农业机械用摩擦片
- 全文《中国式现代化》PPT
- 药品零售企业许可事项申请表模板
- 经尿道前列腺剜除术讲解
- 必修二英语单词默写
- 新人教版四年级数学下册总复习专题一《四则运算及运算定律》课件
- 宋词欣赏《虞美人·听雨》课件
- 混合痔病历范文
- 110kV线路光缆施工方案及安全管控
- 35KV高压开关柜买卖合同
评论
0/150
提交评论