数据结构之顺序表的建立

#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;
 }
 
       
 























猜你喜欢

转载自blog.csdn.net/Azuresmh/article/details/84072385