/*  删除在L中第i个数据元素   */
Status ListDelete(StaticLinkList L, int i)
{
    int j, k;
    if (i < 1 || i > ListLength(L))
        return ERROR;
    k = MAXSIZE - 1;
    for (j = 1; j <= i - 1; j++)
        k = L[k].cur;
    j = L[k].cur;
    L[k].cur = L[j].cur;
    Free_SSL(L, j);
    return OK;
}
示例#2
0
Status ListInsert(StaticLinkLisk L, int i)
{                 //删除链表L中第i个元素
    int j, k;

    if(i<1 || i>ListLength(L))
    {
        return ERROR;
    }

    k = MAXSIZE - 1;   //最后一个元素

    for(j=1; j<=i-1; j++)
    {
        k = L[k].cur; //得到第i-1个元素的cur赋值为k
    }
    j = L[k].cur //得到第i个元素的cur 赋值为j
    L[k].cur = L[j].cur;  //跳过第i个元素

    Free_SSL(L, j);

    return OK;
}