C++程序代码-C++顺序表类模板seqlistclass.docVIP

  • 55
  • 0
  • 约2.34千字
  • 约 4页
  • 2017-12-31 发布于河南
  • 举报

C++程序代码-C++顺序表类模板seqlistclass.doc

C程序代码-C顺序表类模板seqlistclass

#includestdlib.h #includeiostream.h #includeseqlistclass.h SeqList::SeqList() { data=new Type[MAXSIZE]; size=0; } SeqList::SeqList(const SeqList l) { data=new Type[MAXSIZE]; size=l.size; for(int i=0;isize;i++) data[i]=l.data[i]; } SeqList::~SeqList() { delete[]data; } void SeqList::Error(const char *c)const { coutc; exit(1); } SeqList SeqList::operator=(const SeqList l) { size=l.size; for(int i=0;isize;i++) data[i]=l.data[i]; return(*this); } Type SeqList::operator[](int id) //下标运算符重载 { coutcall; if(id0||idsize-1) Error(id illegal!); return(data[id]); } const Type SeqList::operator[](int id)const//常量型下标运算符重载 { coutcalling; if(id0||idsize-1) Error(id illegal!); return(data[id]); } void SeqList::Insert(int id,const Type item) { int i; if(size==MAXSIZE) Error(Insert:SeqList is full!); if(id0||idsize) Error(Insert:id is out of range!); for(i=size-1;i=id;i--) data[i+1]=data[i]; data[id]=item; size++; } void SeqList::InsertRear(const Type item) { if(size==MAXSIZE) Error(InsertRear:SeqList is full!); data[size]=item; size++; } void SeqList::Erase(int id) { int i; if(size==0) //步骤① Error(Erase: an empty list!); if(id0||idsize-1) //步骤② Error(Erase: id is out of range!); for(i=id+1;isize;i++) //步骤③ data[i-1]=data[i]; size--; } void SeqList::Clear(void)//将元素个数置0,使其成为空表 { size=0; } const Type SeqList::GetData(int id)const { if(size==0) //步骤① Error(GetData:an empty list!); if(id0||idsize-1) //步骤② Error(GetData:id is out of range!); return(data[id]); //步骤③ } int SeqList::Find(const Type item)const //找到item,返回其下标,否则返回-1 { int i; for(i=0;isize;i++) if(data[i]==item) break; return(i==size?-1:i); } int SeqList::Size(void)const { return(size); } bool SeqList::Empty(void)const//判空。判断顺序表是否空 { return(size==0); } bool SeqList::Full(void)const//判满。判断顺序表是否满 { return(size==MAXSIZE); } void SeqList::Swap(int id1,int id2) { if(id10||id20||id1

文档评论(0)

1亿VIP精品文档

相关文档