9-6 单链表的算法之逆序

9.6.1 什么是链表的逆序

(1)链表的逆序又叫反向,意思就是把链表中所有的有效节点在链表中的顺序给反过来。

9.6.2 单链表逆序算法分析

(1)当我们对一个数据结构进行一个操作时,我们就需要一套算法。这就是数据结构和算法的关系。
(2)我总结:算法有2个层次。第一个层次是数学和逻辑上的算法;第二个层次是用编程语言来实现算法。(这就启示我们要去锻炼自己的逻辑思维,要想到怎么去解决这个问题,有解决问题的思路,第二个就是锻炼我们的编程功底,能用代码去实现这个解决问题的思路)。
(3)从逻辑上来讲,链表的逆序有很多种方法。这些方法都能够实现最终的需要,但是效率是不一样的,彼此的可扩展性、容错性等不同。
(4)思路:首先遍历原链表,然后将原链表中的头指针和头节点作为新链表的头指针和头节点,原链表中的有效节点挨个依次取出来,采用头插入的方法插入新链表中即可。
(5)链表逆序 = 遍历 + 头插入;
(6)当我们要在链表中进行遍历或者移动操作时,都要将函数参数中的头指针重新赋值给一个指针变量。因为如果我们不赋值给一个指针变量的话,当我们移动头指针了之后,那么我们链表中头指针移动过后的元素就找不到了,所以我们需要另一个指针来进行移动。

9.6.3 编程实战

//将pHeader指
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

非主流的豆瓣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值