一:什么是链表的逆序
(1)链表的逆序又叫反向,意思就是把链表中所有的有效节点在链表中的顺序给反过来
二:单链表逆序算法分析
(1)当需要对一个数据结构进行操作时,就有必要有一套算法。这就是数据结构和算法的关系
(2)算法的两个层次:第一个层次是数学和逻辑上的算法;第二个层次是编程语言来实现算法
(3)从逻辑上来讲,链表的逆序有很多种方法。这些方法最终都能实现需要,但是效率是一样的。彼此的可扩展性容错性等不同
(4)思路:首先先遍历节点,然后将原链表中的头指针头节点作为新链表的头指针头节点,再将原链表中的有效节点挨个依次取出来,采用头部插入的方法插入进新链表
(5)链表逆序 = 遍历 + 头插入
三:逆序代码实现
(1)实现函数
/****************************************
函数名:reverse
作用:将链表进行反向排序
返回值:无
参数:ph 链表头指针
****************************************/
void reverse(struct node *ph)
{
strucct node *p = ph->pNEXT;
STRUCT NODE *pback = ph;
if((p == NULL) || (p->pNEXT