C语言单链表的算法之逆序

一:什么是链表的逆序

        (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 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值