資料結構之順序表的建立
阿新 • • 發佈:2018-12-21
#include<iostream> using namespace std; template<class T> class sq_LList { private: int mm; int nn; T *v://順序表空間儲存首地址 public: sq_LList() { mm=0; nn=0; return; } sq_LList(int); void prt_sq_ LList(); int flag_sq_LList(); void ins_sq_LList(int T); void del_sq_LList(int); }; //建立空連結串列 template<class T> sq_LList<T>::sq_LList(int m) { mm=m;//儲存空間容量 v=new T[mm]; nn=0; return; } template<class T> void prt_sq_LList() { int i; cout<<"nn="<<nnendl; for(i=0;i<nn;i++) cout<<v[i]<<endl; return; } //檢測順序表的狀態 template<class T> int sq_LList<T>::flag_sq_LList() { if(nn==mm) return(-1); if(nn==0) return(0); return(1); } //插入元素 template<class T> void sq_LList<T>::ins_sq_LList(int i,T b) { itn k; if(nn==mm) { cout<<"overflow"<<endl; if(i>nn) i=nn+1; if(i<1) i=1; for(k==nn;k>=i;k--) v[k]=v[k-1]; v[i-1]=b; nn=nn+1; return; } //刪除指定元素 template<class T> void sq_LList<T>::del_sq_LList(int i) { int k; if(nn==0) cout<<"underflow!"<<endl; return; } if((i<1)||(i>nn)) cout<<"NOT this element in the list!"<<endl; return; } for(k=i;k<nn;k++) v[k-1]=v[k]; nn=nn-1; return; } #include"sq_LList.h" int main() { sq_LList<double>s1(100); return 0; }