本章继续介绍单链表并接上篇例子继续讲解链表的插入,删除和逆置操作。
撑腰会儿:C语言实现单链表1zhuanlan.zhihu.com单链表节点的插入
向单链表中的某个位置之后插入节点,分为插入链表的首部,中间以及尾端。这里实现思想即为将该位置上的节点next指针和下一个节点断开,和将插入的节点相连,并将该节点的next指针和下一个节点相连。
节点的插入:
node
单链表节点的删除
删除节点的思想和插入节点有异曲同工之处。将即将删除的节点前节点的next指针连接即将删除节点后节点,之后释放掉该节点的内存空间即可。
节点的删除:
node
运行结果:
![09787e6f6ca56bd8946d4994aae7792a.png](https://i-blog.csdnimg.cn/blog_migrate/03d405cb7dcd4cdf24bc3d6d12b96374.png)
单链表的逆置
实现此功能的方法是遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向下一个元素,然后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历。
单链表的逆置:
node
运行结果:
![e2122f6ec5e0759159a3697b9b8fdfac.png](https://i-blog.csdnimg.cn/blog_migrate/a46ba5e593bac479e8ee65fed8350a3b.png)