LOC(a
i
)=LOC(a
1
)+(i-1)*l。
2. 顺序表的插入(右移)
【算法步骤】
(1)判断插入位置 i 是否合法(1<=i<=n+1),若不合法返回 error。
(2)判断顺序表的存储空间是否已满,若满则返回 error。
(3)将第 n 个至第 i 个位置的元素依次向后移动一个位置,空出第 i 个位置。
(4)将要插入的新元素 e 放入第 i 个位置。
(5)表长加 1。
【算法描述】
Status Insert(SqList &L,int i;ElemType e)
{ if ((i<1)||(i>L.length+1)) return error; //i 值不合法
If(L.length==MAXSIZE) return error; //当前存储空间已满
for(j=L.length-1;j>=i-1;j--)
L.elem[j+1]=L.elem[j]; //插入位置及之后元素后移
L.elem[i-1]=e; //将新元素 e 放入第 i 个位置
++L.length; //表长加 1
return OK; }
3. 顺序表的删除(左移)
【算法步骤】
(1)判断删除位置 i 是否合法(1<=i<=n),若不合法则返回 error。
(2)将第 i+1 个至第 n 个的元素依次向前移动一个位置。
(3)表长减 1。
【算法描述】
Status Delete(SqList &L,int i;ElemType e)
评论0
最新资源