List.h:

/*--List.h----------------------------------------------------------------------------
这个头文件定义了用于处理线性表的List数据类型
基本操作包括
构造函数
empty:检查线性表是否为空
insert:插入一个项
erase:删除一个项
display:输出列表

----------------------------------------------------------------------------------------*/

#include <iostream>

#ifndef LIST
#define LIST

const int CAPCITY=1024;
typedef int ElementType;

class List
{
public:
/************函数成员*************/*
  /*******构造函数***********/
  List();
  bool empty() const;
  void insert(ElementType item,int pos);
  void erase(int pos);
  void display() const;

private:
/*************数据成员***********/
  int mySize;//当前线性表的大小
  ElementType myArray[CAPCITY];//存储线性表的数组
};


#endif


 
List.cpp
 
#include "List.h"
#include <iostream>
using namespace std;

List::List()
{
  mySize=0;
}

bool List::empty() const
{
  return mySize==0;
}

void List::display() const
{
  for(int i=0;i<mySize;i++)
  {
    cout<<myArray[i]<<"\t";
  }
}

void List::insert(ElementType item, int pos)
{
  if(mySize == CAPCITY)
  {
    cout<<"空间不够,无法插入元素!"<<endl;
    return ;
  }

  if(pos<0 || pos>mySize)
  {
    cout<<"插入位置错误!"<<endl;
    return;
  }

    

  for(int i=mySize;i>pos;i--)
  {
    myArray[i]=myArray[i-1];
  }
    myArray[pos]=item;
    mySize++;
    
}


void List::erase(int pos)
{
  if(mySize==0)
  {
    cout<<"线性表长度为0,无法删除!"<<endl;
    return;
  }

  if(pos<0 || pos>=mySize)
  {
    cout<<"删除位置错误!"<<endl;
    return;
  }

  for(int i=pos;i<mySize;i++)
  {
    myArray[i]=myArray[i+1];
  }
  mySize--;
}


 
 
检测用的ListMain.cpp
#include <iostream>
#include "List.h"
using namespace std;

int main()
{
  List intList;
  cout<<"构造线性表"<<endl;

  if(intList.empty())
  {
    cout<<"线性表:"<<"intList"<<"为空!"<<endl;
  }

  for(int i=0;i<9;i++)
  {
    cout<<"将"<<i<<"插入到位置"<<i/2<<"处"<<endl;
    intList.insert(i,i/2);
    intList.display();
    cout<<endl;
  }

  cout<<"intList是否为空?"<<(intList.empty()?"YES":"NO")<<endl;

  cout<<"在-1处插入元素!"<<endl;
  intList.insert(0,-1);

  cout<<"在10处插入元素!"<<endl;
  intList.insert(0,10);

  int index;
  cout<<endl;
  while(!intList.empty())
  {
    cout<<"请选择要删除元素的位置:"<<endl;
    cin>>index;
    intList.erase(index);
    intList.display();
    cout<<endl;
  }

  cout<<"intList 为空!"<<endl;
  cout<<"插入"<<CAPCITY<<"个整数"<<endl;

  for(int i=0;i<CAPCITY;i++)
    intList.insert(i,i);

  cout<<"再插入一个整数"<<endl;
  intList.insert(-1,0);
}