线性表采用 顺序存储 ,写出删除表中第 i 位置上的元素的算法 。 成功返回 1 ,失败
时间: 2023-09-06 20:00:52 浏览: 111
线性表顺序存储运算的算法实现
线性表采用顺序存储时,可以通过以下算法来实现删除表中第 i 位置上的元素:
1. 首先判断线性表是否为空,若为空,则无法删除元素,返回失败。
2. 进一步判断 i 的合法性,即判断 i 是否大于等于 1 且小于等于线性表的长度。若 i 不合法,则删除失败,返回失败。
3. 将线性表中第 i 个位置上的元素删除。使用一个循环,从第 i+1 个位置开始,依次将后面的元素向前移动一个位置。
4. 最后,将线性表的长度减 1,并返回成功。
以下是具体的算法实现伪代码:
```
function deleteElement(list, i):
if (list.isEmpty()):
return 0
if (i < 1 OR i > list.length()):
return 0
for j = i + 1 to list.length():
list[j - 1] = list[j]
list.length = list.length - 1
return 1
```
需要注意的是,这个算法只能删除线性表中第 i 个位置上的元素,不能用来删除线性表中指定值的元素。若要删除指定值的元素,可以先遍历整个线性表,找到该元素的位置,再使用该算法进行删除。
阅读全文