#include<stdlib.h>
#include"LinearList.h"
const int defaultsize=100;
template<class T>
class Seqlist:public LinearList<T>{
private:
T *data;
int maxsize;
int last;
void reSize(int newsize);
public:
Seqlist(int ms=defaultsize);
~Seqlist(){delete[] data;}
T* getData(int i){if(i>0&&i<last+1){return data[i-1];}
void setData(int i,T& x){
if(i>0&&i<last+1)
data[i-1]=x;}//parse error before 'typedef'
int Length(){renturn last+1;}
int Search(T& x)
int Size(){return maxsize;}
void input()const
void output()
bool IsEmpty(){retnrn (last==-1)?true:flase;}
int Locate(int i)
bool Insert(int i,T& x)
int Delete(int i)
bool Remove(int i,T&x)
Seqlist<T> operator=(Seqlist<T>&L)
};
template<class T>
Seqlist<T>::Seqlist(int ms){
if (ms>0){
maxsize=ms;last=-1;
data=new T[maxsize];
if(data==NULL){
cerr<<"存储分配错误"<<endl;
exit(1);}}}
template<class T>
Seqlist<T>::~Seqlist(){delete data;}
template<class T>
Seqlist<T>::Search(T& x){
for(int i=0;i<maxsize;i++){
if (data[i]==x)return i+1;
return 0;
}
}
template<class T>
Seqlist<T>::input()const{
cout<<"开始建立顺序表,请输入表中元素个数:"<<endl;
while(1){
cin>>last;
if(last==maxsize) break;
cout<<"元素个数不能超过"<<maxsize-1<<endl;
}
for(int i=0;i<last;i++){
cin>>data[i];
cout<<i+1<<endl;}
}
template<class T>
Seqlist<T>::output(){
cout<<"输出顺序表中的元素:"<<endl;
for(int n=0;n<last;n++){
cout<<i+1<<":"<<data[i]<<endl;}
}
template<class T>
Seqlist<T>::Locate(int i){
cout<<"输出元素a的位置:"<<endl;
for(int m=0;m<last;m++){
if (data[i]=='a')return (i+1);else return 0;}};
template<class T>
Seqlist<T>::Insert(int i,T& x){
if (last==maxsize-1) return false;
if(i<0||i>last)cout<<"不存在的元素位置:"<<endl;return false;
for(int j=last;j>=i;j--)
data[j+1]=data[j];
data[i]=x;
last++;
return true;
}
template<class T>
Seqlist<T>::Delete(int i){
if(i<0||i>last)return false;
// int x=data[i];
for(int j=i;j+1<last;j++)data[j]=data[j+1];
last--;
return true;
}
梵蒂冈之花
繁花如伊