11 线性表06

//函数功能: 删除元素
//初始条件: 顺序线性表L已存在, i>=1 && i<ListLength(L)
//操作结果: 在L中删除第i个元素并用e返回其值
Status ListDelete(LinkList *L, int i, ElemType *e)
{
    int j;
    LinkList p,q;
    p = *L;
    j = 1;
    while(p->Next && j<i)
    {
        p = p->Next;
        j++;
    }
    if(!(p->Next) || j>i)
    {
        return ERROR;
    }
    q = p->Next;
    p->Next = q->Next;
    *e = q->Next;
    free(q);
    return OK;
}

 

posted @ 2018-11-04 20:55  不夜君  阅读(207)  评论(0编辑  收藏  举报