单向链表和双向链表的一些基本算法

单向链表头插尾插

单向链表的销毁与反转

反转原理:将头节点与后面的节点分开,然后从第一个节点开始对每个节点使用头插法

冒泡排

选排

链表环:

判断是否有环:弗洛伊德快慢指针(快指针一般是慢指针的2倍,差为自然数增长)检测法,如果快指针在遍历过程中遇到了慢指针,则有环存在

判断环入口:在相遇点,令慢指针回到头节点,然后两个指针以相同的速度移动,再次相遇点即为入口;

链表环好处:1.链表环允许从某个节点开始无限循环访问,这在需要持续遍历数据的场景中非常有用,比如任务调度、游戏循环等。

2.如果链表中有多个节点需要共享相同数据,使用环可以避免创建多个节点,节省内存。

3.对于需要处理持续流入数据的应用,环可以有效地管理数据,避免频繁的内存分配和释放。

相关推荐
Jerry11 分钟前
LeetCode 202. 快乐数
算法
hans汉斯34 分钟前
基于改进交叉熵损失函数与Transformer的心电信号高风险分类研究
功能测试·深度学习·算法·yolo·目标检测·分类·transformer
Jerry37 分钟前
LeetCode 349. 两个数组的交集
算法
fpcc1 小时前
数据结构—表
数据结构
YuK.W2 小时前
Leetcode100: 70.爬楼梯、118.杨辉三角、198.打家劫舍
java·算法·leetcode
随意起个昵称2 小时前
状压dp-基础题目2([USACO12MAR] Cows in a Skyscraper G)
c++·算法·动态规划
Funing72 小时前
FreeRTOS学习day1:Keil 工程配置与 FreeRTOS 链表机制理解
数据结构·学习·链表
Jerry3 小时前
LeetCode 1002. 查找共用字符
算法
无限的鲜花3 小时前
协程本质是函数加状态机——零基础深入浅出 C++20 协程
c++·算法·c++20
旖-旎4 小时前
《LeetCode 64 最小路径和 || LeetCode 174 地下城游戏》
c++·算法·leetcode·动态规划