C++数据结构---链表(删除操作)

来源:互联网 发布:联合电子汽车 知乎 编辑:程序博客网 时间:2024/06/05 17:16

remove函数输入为:待删除节点p

算法:

  1. 令p的前驱的后继为p的后继
  2. 令p的后继的前驱为p的前驱

    C++链表模板代码:

template <typename T>T List<T>::remove(ListNodePosi(T) p){    T _Val = p -> data; //将要删除的节点值备份,以便之后输出    p->pred->succ = p->succ;    p->succ->pred = p->pred;    delete p;//删除节点    _size--;//缩容    return _Val;//返回删除值,其实也可以不返回,这里只是确保删除了正确的元素}
原创粉丝点击