数据结构与算法基础之非循环单链表节点的操作

Posted sunbr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与算法基础之非循环单链表节点的操作相关的知识,希望对你有一定的参考价值。

插入节点

1 //写法一:
2 r = p->pNext; //r为临时变量
3 p->pNext = q; //q为要插入的节点地址
4 q->next = r;
5 
6 
7 //写法二:
8 q->pNext = p->pNext; //将原来指向下一节点的指针域赋值给插入的节点的指针域
9 p->pNext = q; //原来的节点的指针域被赋值了插入的节点的地址

 

删除节点

1 r = p->pNext;
2 //将要删除的节点的地址赋值给临时变量,方便最后释放内存
3 
4 p->pNext = p->pNext -> pNext;//也可以写成r->pNext
5 //将p节点后面的节点删除,只需要将p节点后面的节点的指针域赋值给p节点的指针域
6 
7 free(r);
8 //手动释放内存

 

以上是关于数据结构与算法基础之非循环单链表节点的操作的主要内容,如果未能解决你的问题,请参考以下文章

一篇解单链表(0基础看)(C语言)《数据结构与算法》

Python数据结构与算法(2.5)——循环链表

数据结构--线性表的链式存储之循环单链表

java数据结构与算法之反转单链表

单链表就地逆置的两种方法(递归与普通循环)

[数据结构与算法] 链表的其他类型