当前位置:   article > 正文

反转单链表的4种方法(C语言实现)_如何反转一个单链表

如何反转一个单链表

通过前面章节的学习,读者已经对单链表以及它的用法有了一个完整的了解。在此基础上,本节再带领大家研究一个和单链表有关的问题,即如何实现单链表的反转。

反转链表,又可以称为翻转或逆置链表,它们表达的是同一个意思。以图 1 所示的链表为例:

未反转的链表

图 1 未反转的链表

经过反转(翻转、逆置)后,得到的新链表如图 2 所示:

反转后的链表

图 2 反转后的链表

通过对比图 1 和 图 2 中的链表不难得知,所谓反转链表,就是将链表整体“反过来”,将头变成尾、尾变成头。那么,如何实现链表的反转呢?

常用的实现方案有 4 种,这里分别将它们称为迭代反转法、递归反转法、就地逆置法和头插法。值得一提的是,递归反转法更适用于反转不带头节点的链表;其它 3 种方法既能反转不带头节点的链表,也能反转带头节点的链表。

本节将以图 1 所示,即不带头节点的链表为例,给大家详细讲解各算法的实现思想。

哪里不懂问哪里

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/209942
推荐阅读
相关标签
  

闽ICP备14008679号