欢迎来到天天文库
浏览记录
ID:54698094
大小:29.50 KB
页数:4页
时间:2020-04-19
《C++程序代码-C++顺序表类模板seqlistclass.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include#include"seqlistclass.h"SeqList::SeqList(){data=newType[MAXSIZE];size=0;}SeqList::SeqList(constSeqList&l){data=newType[MAXSIZE];size=l.size;for(inti=0;i2、;}voidSeqList::Error(constchar*c)const{cout<3、4、id>size-1)Error("idill5、egal!");return(data[id]);}constType&SeqList::operator[](intid)const//常量型下标运算符重载{cout<<"calling";if(id<06、7、id>size-1)Error("idillegal!");return(data[id]);}voidSeqList::Insert(intid,constType&item){inti;if(size==MAXSIZE)Error("Insert:SeqListisfull!");if(8、id<09、10、id>size)Error("Insert:idisoutofrange!");for(i=size-1;i>=id;i--)data[i+1]=data[i];data[id]=item;size++;}voidSeqList::InsertRear(constType&item){if(size==MAXSIZE)Error("InsertRear:SeqListisfull!");data[size]=item;size++;}voidSeqList::Erase(intid){11、inti;if(size==0)//步骤①Error("Erase:anemptylist!");if(id<012、13、id>size-1)//步骤②Error("Erase:idisoutofrange!");for(i=id+1;i14、e==0)//步骤①Error("GetData:anemptylist!");if(id<015、16、id>size-1)//步骤②Error("GetData:idisoutofrange!");return(data[id]);//步骤③}intSeqList::Find(constType&item)const//找到item,返回其下标,否则返回-1{inti;for(i=0;i17、SeqList::Size(void)const{return(size);}boolSeqList::Empty(void)const//判空。判断顺序表是否空{return(size==0);}boolSeqList::Full(void)const//判满。判断顺序表是否满{return(size==MAXSIZE);}voidSeqList::Swap(intid1,intid2){if(id1<018、19、id2<020、21、id1>size-122、23、id2>size-1)Error("Update:24、Indexisoutofrange!");Typetemp=data[id1];data[id1]=data[id2];data[id2]=temp;}voidSeqList::Replace(intid,constType&item)//替换。用元素item替换顺序表中下标为id的元素{if(id<025、26、id>size-1)Error("Update:Indexisoutofrange!");data[id]=item;}
2、;}voidSeqList::Error(constchar*c)const{cout<3、4、id>size-1)Error("idill5、egal!");return(data[id]);}constType&SeqList::operator[](intid)const//常量型下标运算符重载{cout<<"calling";if(id<06、7、id>size-1)Error("idillegal!");return(data[id]);}voidSeqList::Insert(intid,constType&item){inti;if(size==MAXSIZE)Error("Insert:SeqListisfull!");if(8、id<09、10、id>size)Error("Insert:idisoutofrange!");for(i=size-1;i>=id;i--)data[i+1]=data[i];data[id]=item;size++;}voidSeqList::InsertRear(constType&item){if(size==MAXSIZE)Error("InsertRear:SeqListisfull!");data[size]=item;size++;}voidSeqList::Erase(intid){11、inti;if(size==0)//步骤①Error("Erase:anemptylist!");if(id<012、13、id>size-1)//步骤②Error("Erase:idisoutofrange!");for(i=id+1;i14、e==0)//步骤①Error("GetData:anemptylist!");if(id<015、16、id>size-1)//步骤②Error("GetData:idisoutofrange!");return(data[id]);//步骤③}intSeqList::Find(constType&item)const//找到item,返回其下标,否则返回-1{inti;for(i=0;i17、SeqList::Size(void)const{return(size);}boolSeqList::Empty(void)const//判空。判断顺序表是否空{return(size==0);}boolSeqList::Full(void)const//判满。判断顺序表是否满{return(size==MAXSIZE);}voidSeqList::Swap(intid1,intid2){if(id1<018、19、id2<020、21、id1>size-122、23、id2>size-1)Error("Update:24、Indexisoutofrange!");Typetemp=data[id1];data[id1]=data[id2];data[id2]=temp;}voidSeqList::Replace(intid,constType&item)//替换。用元素item替换顺序表中下标为id的元素{if(id<025、26、id>size-1)Error("Update:Indexisoutofrange!");data[id]=item;}
3、
4、id>size-1)Error("idill
5、egal!");return(data[id]);}constType&SeqList::operator[](intid)const//常量型下标运算符重载{cout<<"calling";if(id<0
6、
7、id>size-1)Error("idillegal!");return(data[id]);}voidSeqList::Insert(intid,constType&item){inti;if(size==MAXSIZE)Error("Insert:SeqListisfull!");if(
8、id<0
9、
10、id>size)Error("Insert:idisoutofrange!");for(i=size-1;i>=id;i--)data[i+1]=data[i];data[id]=item;size++;}voidSeqList::InsertRear(constType&item){if(size==MAXSIZE)Error("InsertRear:SeqListisfull!");data[size]=item;size++;}voidSeqList::Erase(intid){
11、inti;if(size==0)//步骤①Error("Erase:anemptylist!");if(id<0
12、
13、id>size-1)//步骤②Error("Erase:idisoutofrange!");for(i=id+1;i14、e==0)//步骤①Error("GetData:anemptylist!");if(id<015、16、id>size-1)//步骤②Error("GetData:idisoutofrange!");return(data[id]);//步骤③}intSeqList::Find(constType&item)const//找到item,返回其下标,否则返回-1{inti;for(i=0;i17、SeqList::Size(void)const{return(size);}boolSeqList::Empty(void)const//判空。判断顺序表是否空{return(size==0);}boolSeqList::Full(void)const//判满。判断顺序表是否满{return(size==MAXSIZE);}voidSeqList::Swap(intid1,intid2){if(id1<018、19、id2<020、21、id1>size-122、23、id2>size-1)Error("Update:24、Indexisoutofrange!");Typetemp=data[id1];data[id1]=data[id2];data[id2]=temp;}voidSeqList::Replace(intid,constType&item)//替换。用元素item替换顺序表中下标为id的元素{if(id<025、26、id>size-1)Error("Update:Indexisoutofrange!");data[id]=item;}
14、e==0)//步骤①Error("GetData:anemptylist!");if(id<0
15、
16、id>size-1)//步骤②Error("GetData:idisoutofrange!");return(data[id]);//步骤③}intSeqList::Find(constType&item)const//找到item,返回其下标,否则返回-1{inti;for(i=0;i17、SeqList::Size(void)const{return(size);}boolSeqList::Empty(void)const//判空。判断顺序表是否空{return(size==0);}boolSeqList::Full(void)const//判满。判断顺序表是否满{return(size==MAXSIZE);}voidSeqList::Swap(intid1,intid2){if(id1<018、19、id2<020、21、id1>size-122、23、id2>size-1)Error("Update:24、Indexisoutofrange!");Typetemp=data[id1];data[id1]=data[id2];data[id2]=temp;}voidSeqList::Replace(intid,constType&item)//替换。用元素item替换顺序表中下标为id的元素{if(id<025、26、id>size-1)Error("Update:Indexisoutofrange!");data[id]=item;}
17、SeqList::Size(void)const{return(size);}boolSeqList::Empty(void)const//判空。判断顺序表是否空{return(size==0);}boolSeqList::Full(void)const//判满。判断顺序表是否满{return(size==MAXSIZE);}voidSeqList::Swap(intid1,intid2){if(id1<0
18、
19、id2<0
20、
21、id1>size-1
22、
23、id2>size-1)Error("Update:
24、Indexisoutofrange!");Typetemp=data[id1];data[id1]=data[id2];data[id2]=temp;}voidSeqList::Replace(intid,constType&item)//替换。用元素item替换顺序表中下标为id的元素{if(id<0
25、
26、id>size-1)Error("Update:Indexisoutofrange!");data[id]=item;}
此文档下载收益归作者所有