#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()constvoid 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;}
2 回答
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
你的代码没有给全吧,
编译都过不去啊。
根本编译不到"parse error before 'typedef'"这一步,
编译时直接#include"LinearList.h"找不到
是不是有头文件没给出
繁花如伊
TA贡献2012条经验 获得超12个赞
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)
};
添加回答
举报
0/150
提交
取消