- 一、valgrind
- 在使用和操作链表时,需注意内存泄漏的情况,可以使用Valgrind来检查内存泄漏的情况
- Valgrind 是一个编程工具,主要用于内存调试、内存泄漏检测、以及性能分析
- 使用场景
- 内存泄漏检测:检查程序是否在不再需要时未能释放分配的内存
- 内存越界:检测数组越界、堆栈缓冲区溢出等错误
- 线程错误:检查多线程程序中的同步问题,如死锁、竞争条件等
- 性能分析:分析程序的性能瓶颈,如CPU周期使用、内存访问模式等
- 安装valgrind
- sudo apt-get update
- sudo apt-get install valgrind
- 运行valgrind
- valgrind [选项] 程序名 [程序参数]

- valgrind [选项] 程序名 [程序参数]
- 二、快慢指针
- 快慢指针是一种在链表和数组中常用算法的技巧,主要用于解决链表或数组中的问题,如检测环存在、找到环的入口、计算链表的中点等。快慢指针的核心思想是使用两个指针以不同的速度遍历链表:
- 慢指针:每次移动一步
- 快指针:每次移动两步
- 使用场景:检测链表是否有环
- 如果快指针最终追上慢指针,说明链表中有环
- 如果快指针到达链表末尾,说明链表中没有环
- 三、对链表进行操作
- 快慢指针法查找链表正中间节点

- 对单向链表逆序

- 单向链表排序(插入法)

1522

被折叠的 条评论
为什么被折叠?



