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