c++数组下标从0开始,而数组下标是从1开始。
也即 线性表中第i个元素存储在下标为i-1的位置。
下例中n表示插入的位置,在表中索引为n-1。
删除线性表中第i个元素,也即在数组中删除第i-1个元素,删除范围为【1-length】。
//插入元素
template<class T>
bool SqList<T>::insert(T e,int n)
{
if (this->length == this->maxsize)
throw "已满";
if (n<1 || n>length + 1)
throw "非法";
for (size_t i = length; i >n; i--)
{
this->elem[i] = this->elem[i - 1];
}
this->elem[n-1] = e;
this->length++;
return true;
}
//删除元素
template<class T>
bool SqList<T>::Delete(T e,int n)
{
if (n<1 || n>length)
{
return false;
}
e = elem[n - 1];
for (size_t i = n; i < length; i++)
{
elem[n - 1] = elem[n];
}
length--;
return true;
}