- 如果插入的位置<0直接return
- 如果插入的是位置>=length 调用添加元素函数
- 位置不在length的范围内只能后移元素
插入第length的位置时

顺序表插入元素前



插入元素成功

当pos < length

顺序表插入前

插入的过程



插入元素成功


代码演示:
bool ListInsert(Sqlist& list, int pos, const ElemType& val) noexcept(true){
bool ret = false;
size_t& length = list.length;
ElemType*& e = list.elems;
if (pos < 0) {
return ret;
}
if (pos >= length) {
return ListAppend(list, forward<const ElemType>(val));
}
for (size_t i = length; --i >= pos;) {
e[i + 1] = e[i];
}
e[pos] = static_cast<const ElemType&&>(val);
++length;
ret = true;
return ret;
}
本文详细介绍了如何在顺序表中插入元素的步骤,包括检查插入位置的有效性、后移元素以及更新长度等操作。提供的代码示例展示了在C++中实现顺序表插入功能的方法,适用于数据结构和算法的学习。

被折叠的 条评论
为什么被折叠?



