单链表的插入

2019-08-28  本文已影响0人  南风_001

单链表在第i个数据插入结点的思路

代码如下:

// 初始条件:顺序线性表L已存在,1<=i<ListLength(L)。
// 操作结果是:在L中第i个结点的位置之前插入新的数据元素e,L的长度+1
Status ListInset (LinkList *L, int i, ElemType e) {
    int j;
    LinkList p,s;
    p = *L;
    j = 1;
    // 寻找第i-i个节点
    while (p && j < i) {
        p = p->next;
        ++j;
    }
    // 如果第i个接点不存在
    if (!p || j > i)
    {
     return ERROR;
    }
    s = (LinkList)malloc(sizeof(Node));// 生成新的结点
    s->data = e;// 新结点的数据赋值
    s->next = p->next;// 将p的后继节点赋值给s的后继结点
    p->next = s;//把s的赋值给p的后继
    return ok;

}
上一篇 下一篇

猜你喜欢

热点阅读