




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品好资料学习推荐1. 建立函数模板FindX,完成在数组中查找给定值X的操作,数组与X作为函数形参;不能在数组中找到X时,返回-1;能找到X时,返回X的下标。在main()函数中,定义并初始化不同数据类型的数组(int, double ,char),然后输入需查找的值,利用函数模板实例化模板函数,进行查找,并输出查找结果。附加思考:自定义类Student(数据属性:学号,姓名,成绩),建立对象数组并初始化,利用函数模板实例化模板函数,按照学号或者姓名、成绩查找数组中相应的对象。 #includeusing namespace std;templateint FindX(T a,T X,int
2、 n)for(int i=0;in;i+)if(ai=X)return i;return -1;templatevoid output(T a,int n)for(int i=0;in;i+) coutai ;coutendl;return;int main()int a1=1,2,3,5,7,11,13,17,19,t1;double a2=1.23,2.45,3.14,4.56,5.89,6.23,t2;char a3=ABCDEfghij,t3;int n1=9,n2=6,n3=10;coutt1;coutFind t1 in a1:FindX(a1,t1,n1)endl;coutt2;
3、coutFind t2 in a2:FindX(a2,t2,n2)endl;coutt3;coutFind t3 in a3:FindX(a3,t3,n3)操作符。 bool operator(seqlist & s)。 与同类型的顺序表类对象s中的数组对比,本对象数组元素比s的数组元素大,返回ture,否则返回false。(7) 在main函数中测试以上成员函数和重载函数,并将测试结果输出,保存在文件result.txt。#include#includeusing namespace std;ofstream fout(result.txt);templateclass seqlistT s
4、listsize;int Maxsize;int last;public:seqlist()last=-1;Maxsize=size;int Length()constreturn last+1;bool Insert(T &x,int i);/*int Find(T &x)const;bool IsIn(T &x);bool Remove(T &x);int Next(T &x);int Prior(T &x);bool IsEmpty()return last=-1;bool IsFull()return last=Maxsize-1;T Get(int i)return ilast? e
5、xit(1):slisti;*/T& operator(int i);bool InsertBegin(T &x);bool DeleteEnd();bool ExchangeData(int i,int j);bool MoveDataToEnd(int i, int j);seqlist & LinkSeq(seqlist & s);bool operator(seqlist & s);void coutput()for(int i=0;i=last;i+) coutslisti ;coutendl;return;void foutput()for(int i=0;i=last;i+) f
6、outslisti ;foutendl;return;templatebool seqlist:Insert(T &x,int i)int j;if(ilast+1|last=Maxsize-1) return false;elselast+;for(j=last;ji;j-) slistj=slistj-1;slisti=x;return true;/*templateint seqlist:Find(T &x)constint i=0;while(ilast)return -1;else return i;templatebool seqlist:IsIn(T &x)int i=0;boo
7、l found=0;while(i=last&!found)if(slisti!=x)i+;else found=1;return found;templatebool seqlist:Remove(T &x)int i=Find(x),j;if(i=0)last-;for(j=i;j=last;j+) slistj=slistj+1;return true;return false;templateint seqlist:Next(T &x)int i=Find(x);if(i=0&ilast) return i+1;else return -1;templateint seqlist:Pr
8、ior(T &x)int i=Find(x);if(i0&i=last) return i-1;else return -1;*/templateT& seqlist:operator (int i)if(ilast+1|i=Maxsize)cout下标出界!last)last+;return slisti;templatebool seqlist:InsertBegin(T &x)if(last=Maxsize-1) return false;last+;for(int i=last;i0;i-) slisti=slisti-1;slist0=x;return true;templatebo
9、ol seqlist:DeleteEnd()if(last=-1) return false;last-;return true;templatebool seqlist:ExchangeData(int i,int j)if(ilast|jlast)coutError:Illegal position!endl; return false;T t;t=slisti;slisti=slistj;slistj=t;return true;templatebool seqlist:MoveDataToEnd(int i,int j)if(ilast|jlast|ij)coutError:Illeg
10、al range!endl; return false;T tsize;int k,q=0;for(k=i;k=j;k+) tq+=slistk;for(k=i;k=i+last-j-1;k+) slistk=slistk+j-i+1;q=0;for(k=i+last-j;k=last;k+) slistk=tq+;return true;template seqlist& seqlist:LinkSeq(seqlist & s)if(Length()+s.Length()Maxsize)coutError:Out of Maxsize!endl;exit(1);int i;for(i=0;i
11、s.Length();i+)slistlast+i+1=si;last+=s.Length();return *this;templatebool seqlist:operator(seqlist & s)int i=0;while(ilast&isi)return true;i+;return false;int main()seqlists1;seqlists2;int i,n,a15=2,3,5,7,11,a25=13,17,19,23,29;for(i=0;i5;i+) if(!s1.Insert(a1i,i)coutError!endl;break;for(i=0;i5;i+) if
12、(!s2.Insert(a2i,i)coutError!endl;break;couts1:; s1.coutput();couts2:; s2.coutput();fouts1:; s1.foutput();fouts2:; s2.foutput();s1.LinkSeq(s2);coutLink s2 to s1:; s1.coutput();foutLink s2 to s1:; s1.foutput();coutn;s1.InsertBegin(n);coutInsert to the begin of s1:; s1.coutput();foutInsert to the begin of s1:; s1.foutput();s1.DeleteEnd();coutDelete the end of s1:; s1.coutput();foutDelete the end of s1:; s1.foutput();docoutin;while(!s1.ExchangeData(i,n);coutExchange s1i and sn:; s1.coutput();foutEx
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业互联网平台数据清洗算法在智能客服中的应用对比报告001
- 2025至2030年中国海南旅游业市场供需预测及投资战略研究咨询报告
- 2025版智慧社区物业管理及设施更新及安保服务合同
- 2025年度特殊技能人才法人技术顾问聘用合同
- 2025版专业级挖掘机械设备采购与售后服务合同
- 2025版企业师徒结对技术研发与市场合作合同
- 2025版数据中心空调系统维保及能效提升合同范本
- 2025年新型稻谷加工技术合作合同
- 2025年度项目可行性研究报告保密协议书
- 2025年度高端装修贷款合同文本
- (高清版)DB44∕T 1024-2012 《水性环氧防腐涂料(双组分)》
- 2025年纪委遴选笔试题及答案
- 玉露香梨树栽培管理技术
- 校园方责任保险服务项目方案投标文件(技术方案)
- 诺帝菲尔FCI-2000消防主机操作
- 2025年反洗钱知识竞赛培训试题及答案
- 2025租房合同附带室内物品清单
- 2025年度枣庄市专业技术人员继续教育公需课考试题(含答案)
- 电工电子基础知识培训课件
- 骨髓炎诊断与治疗
- “满鲜一体化”视域下“满鲜”商业会议所联合会研究(1918-1929)
评论
0/150
提交评论