删除一个无头单链表的非尾节点

来源:互联网 发布:anywhereanything源码 编辑:程序博客网 时间:2024/06/06 00:03

单链表的单向性,导致它只能寻找后一个节点,由于这个链表的头节点没有给出,那就将下一个节点的 复制到这个节点上,但得记住刚才节点的位置,这样才能释放这个节点,达到删除这个节点的目的。

对于节点的构造,就是上一篇的:http://blog.csdn.net/my_heart_/article/details/51527361

void DeleteNotTailNode(PNode pos)//删除一个无头单链表的非尾节点{PNode Ppos = NULL;assert(pos);Ppos = pos->pNext;pos->data = pos->pNext->data;pos->pNext = pos->pNext->pNext;free(Ppos);Ppos = NULL;}


1 0
原创粉丝点击