作者在 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++类模板写呀?看见就帮忙吧