本题要求实现一个函数,在顺序表的第i个位置插入一个新的数据元素e,插入成功后顺序表的长度加1,函数返回值为1;插入失败函数返回值为0;
时间: 2023-04-26 12:03:53 浏览: 309
顺序表是一种线性数据结构,它是一个顺序存储的数组。在顺序表中插入一个新元素需要满足以下条件:
1. i的值在顺序表的有效范围内(0 <= i <= n-1, n为顺序表的长度)
2. 顺序表的长度未满,有足够的空间插入新元素
如果满足以上条件,则在顺序表的第i个位置插入新元素e。
1. 从i开始,将顺序表中的所有元素向后移动一位
2. 将新元素e插入到顺序表的第i个位置
3. 顺序表长度加1
4. 返回1
如果不满足上述条件,则插入失败,返回0。
示例代码:
```
int ListInsert(SqList &L, int i, int e)
{
if (i < 1 || i > L.length + 1)
return 0;
if (L.length >= MAXSIZE)
return 0;
for (int j = L.length; j >= i; j--)
L.data[j] = L.data[j - 1];
L.data[i - 1] = e;
L.length++;
return 1;
}
```
阅读全文