数据结构题目2:线性表的顺序存储结构的删除

题目:删除长度为n的线性表A的第i个数据元素。
解题思路:首先判断线性表是否为空;如果不空,测试被删除元素的位置是否合适,合适的删除位置应该是1<=i<=n。出现任何一个异常,删除操作都将失败。
如果满足条件,具体删除郭晨够可以分为2步:
1.将表的第i+1个数据元素至第n个数据元素(一共是n-1个)依次向前移动一个位置;
2.修改线性表的长度为n-1
具体实现如下:

let arr = [1,2,3,4,5,6,7,8,9,10]
function deleteList(A, i) {
    let n = A.length
    if ( i<1 || i>n ) {
        return "表格或插入位置不正确!"
    }
    for (let j = i; j < n; j++) {
        A[j-1] = A[j]
    }
    A.length--
    return A
}
deleteList(arr, 3)

性能:
算法的平均时间复杂度为O(n)。

你可能感兴趣的:(数据结构题目2:线性表的顺序存储结构的删除)