include#include#include"seqlistclass.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-1) Error("id illegal!"); return(data[id]);}const Type& SeqList::operator[](int id)const//常量型下标运算符重载{ cout<<"calling"; if(id<0||id>size-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(id<0||id>size) 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(id<0||id>size-1) //步骤② Error("Erase: id is out of range!"); for(i=id+1;isize-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;i
判断顺序表是否空{ return(size==0);}bool SeqList::Full(void)const//判满判断顺序表是否满{ return(size==MAXSIZE);}void SeqList::Swap(int id1,int id2){ if(id1<0||id2<0||id1>size-1||id2>size-1) Error("Update:Index is out of range!"); Type temp=data[id1]; data[id1]=data[id2]; data[id2]=temp;}void SeqList::Replace(int id,const Type& item)//替换用元素item替换顺序表中下标为id的元素{ if(id<0||id>size-1) Error("Update:Index is out of range!"); data[id]=item;}。