文档介绍:#include<> template<class T> class linearlist {public: virtual bool Isempty() const=0; virtual int Length()const=0; virtual bool Find(int i,T&x) const=0; virtual int Search(T x)const=0; virtual bool Insert(int i,T x)=0; virtual bool Delete(int i)=0; virtual bool Update(int i,T x)=0; virtual void Output(ostream& out) const=0; protected:int n; }; template<class T> class Seqlist:public linearlist<T> {private: int max; T* elements; public:Seqlist(int m) {max=m; elements=new T[max]; n=0;} ~Seqlist(){delete [] elements;} bool Isempty()const {return n==0;} int Length() const {return n;} bool Find(int i,T& x) const {if(i<0||i>n-1) {cout<<"out"; return false;} x=elements[i]; return true;} int Search(T x) const {for(int j=0;j<n;j++) if(elements[j]==x)return j; return -1; } bool Insert(int i,T x) {if(i<-1||i>n-1) {cout<<"out"; return false; } if(n==max) {cout<<"over";return false;} for(int j=n-1;j>i;j--) elements[j+1]=elements[j]; elements[i+1]=x;n++; return true;} bool Delete(int i) {if(!n) {cout<<"under"<<endl;return false;} if(i<0||i>n-1) {cout<<"out"; return false;} for(int j=i+1;j>n;j++) elements[j-1]=elements[j]; n--;return true;} void Reverse() {T temp; for(int j=0;j<n/2;j++) {temp=elements[j]; elements[j]=elements[n-j-1]; elements[n-j-1]=temp;} } bool DeleteX(const T&x) { int k=n; for(int i=0;i<n;i++) {if(elements[i]==x) {for(int j=i+1;j<n;j++) elements[j-1]=elements[j];