// 工程名:SeqList// 文件名:SeqList.h// 功能:演示循序表的基本操作// 依赖文件:SeqList.cpp,main.cpp#ifndef SeqList_H#define SeqList_Hconst int MaxSize=100;template <class T>class SeqList...{public: SeqList()...{length=0;} SeqList(T a[],int n); void Insert(int i,T x); T Delete(int i); int Locate(T x); void PrintList();private: T data[MaxSize]; int length;};#endif // 工程名:SeqList// 文件名:SeqList.cpp// 功能:演示循序表的基本操作// 依赖文件:SeqList.h,main.cpp#include "SeqList.h"template <class T>SeqList<T>::SeqList(T a[],int n)...{ if(n>MaxSize)throw "参数非法"; for(int i=0;i<n;i++) data[i]=a[i]; length=n;}template<class T>void SeqList<T>::Insert(int i,T x) //Insert执行有点问题?已解决!...{ if(length>=MaxSize)throw "上溢"; if(i<1 || i>length) throw "位置异常"; //原:i>length+1 for(int j=length;j>=i;j--) //原:j>=i data[j]=data[j-1]; //第j个元素存放在数组下标为j-1处 data[i-1]=x; //或 data[j]=x;第i个元素排在下标i-1处 length++;}template<class T>T SeqList<T>::Delete(int i)...{ if(length==0) throw "下溢"; if(i<1 || i>length)throw "位置异常"; T x=data[i-1]; for(int j=i;j<length;j++) data[i-1]=data[i]; length--; return x;}template <class T>int SeqList<T>::Locate(T x)...{ for(int i=0;i<length;i++) if(data[i]==x)return i+1; //下标为i的元素等于x,返回其序号i+1 return 0;}template <class T>void SeqList<T>::PrintList()...{ for(int i=0;i<length;i++) cout<<data[i]<<endl;} // 工程名:main.cpp// 文件名:SeqList// 功能:演示循序表的基本操作// 依赖文件:SeqList.h,SeqList.cpp//主函数#include <iostream.h>#include "SeqList.cpp"void main()...{ int r[]=...{1,2,3,4,5}; SeqList<int> a(r,5); cout<<"执行插入操作前数据为:"<<endl; a.PrintList(); try ...{ a.Insert(2,6); //原:3 } catch(char *s) ...{ cout<<s<<endl; } cout<<"执行插入操作后数据为:"<<endl; a.PrintList(); //Insert执行有点问题? cout<<"值为3的元素位置为:"<<endl; cout<<a.Locate(3)<<endl; cout<<"执行删除第一个元素操作,删除前数据为:"<<endl; a.PrintList(); try ...{ a.Delete(1); } catch(char *s) ...{ cout<<s<<endl; } cout<<"删除后数据为:"<<endl; a.PrintList();}