线性表顺序表的插入

作者在 2013-09-14 19:09:15 发布以下内容

不知道怎样用c++类模板写顺序表的插入,但是我一种方法

#include "iostream.h"
#define MAX 100
typedef int ElemType; //顺序表元素的数据类型
//顺序表的存储结构
typedef struct STable
{
 ElemType base[MAX]; //顺序表的存储空间
 int length; //顺序表的长度
}STable;
//在顺序表st的index位置插入值为data的元素,返回插入成功与否的标志
bool AddAt(STable *st, int index, ElemType data)
{
 for(int i=st->length-1; i>=index; i--)
  st->base[i+1] = st->base[i];
 st->base[index] = data;
 st->length++;
 return true;
}
//删除顺序表st中index位置的元素,返回删除成功与否的标志
bool RemoveAt(STable *st, int index, ElemType *data)
{
 *data = st->base[index];
 for(int i=index+1; i<st->length; i++)
  st->base[i-1] = st->base[i];
 st->length--;
 return true;
}
void main()
{
 int i;STable *st;
 ElemType data;
 st = new STable();
 st->length = 5;
 for(i=0; i<st->length; i++)
  st->base[i] = 2* i + 1;
 for(i=0; i<st->length; i++)
  cout<<st->base[i]<<" ";
 cout<<endl;
 AddAt(st, 2, 4);
 cout<<"插入元素后:"<<endl;
 for(i=0;i<st->length; i++)
  cout<<st->base[i]<<" ";
 cout<<endl;RemoveAt(st, 2, &data);
 cout<<"删除元素后:"<<endl;
 for(i=0; i<st->length; i++)
  cout<<st->base[i]<<" ";
cout<<endl;
}

不知道谁会用c++类模板写呀?看见就帮忙吧

默认分类 | 阅读 725 次
文章评论,共0条
游客请输入验证码
文章分类
文章归档
最新评论