数据结构学习/复习4--链表的实现/链表练习题/二级指针与一级指针在链表实现中的运用

本文介绍了链表的实现方法,重点讲解了二级指针的应用,包括如何用二级指针处理一级指针的修改,以及通过链表练习题的形式展示了移除元素、找到中间节点和倒数第K个元素的不同算法,如快慢指针技巧。
摘要由CSDN通过智能技术生成

一、链表的实现(写法不唯一,此处多处用二级指针)

        

 

 

  

二、链表实现总结

           1.二级指针存储一级指针

           2.改变一级指针需要用到二级指针,本次使用二级指针进行修改

注意写法不唯一,也有不用二级指针写法

           3.链表的结构体(节点)内的成员变量可用一级指针访问,若成员变量为指针,则也可用该一级指针访问并修改其指向。   

   

三、链表练习题巩固

             1.移除链表元素

法1:两个指针,一个指针负责指向在另一指针指向的前一个元素以方便删除。从原链表的头开始遍历查找val,头删,非头删分开讨论   注意链表中删除元素的具体情况和操作顺序

   法2: 用一个新链表,将非val函数尾插到新链表,第一次插入与非第一次插入分开讨论

2. 链表的中间节点   

     法1:快慢指针,一个走两步,一个走一步,找链表的中间元素  

3. 链表中的倒数第K个元素

  法1:快慢指针,使快指针先走k步,再让慢指针和快指针一起走直至快指针走向空

法2:上述为返回指针,此处直接返回具体值

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值