数据结构 线性表的顺序表插入与删除元素C++版的。。。。。

如题。。。。
看过很多都是C语言版本的,我想要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;
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答