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

单向链表头插尾插

单向链表的销毁与反转

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

冒泡排

选排

链表环:

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

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

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

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

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

相关推荐
博语小屋15 小时前
线程同步与条件变量
linux·jvm·数据结构·c++
TL滕15 小时前
从0开始学算法——第八天(堆排序)
笔记·学习·算法·排序算法
Ayanami_Reii15 小时前
进阶数据结构-AC自动机
数据结构·算法·动态规划·字符串·ac自动机
带鱼吃猫15 小时前
数据结构:顺序表与基于动态顺序表的通讯录项目
数据结构·链表
报错小能手15 小时前
数据结构 AVL二叉平衡树
数据结构·算法
l1t15 小时前
利用Duckdb求解Advent of Code 2025第5题 自助餐厅
数据库·sql·mysql·算法·oracle·duckdb·advent of code
List<String> error_P15 小时前
C语言枚举类型
算法·枚举·枚举类型
liu****15 小时前
20.预处理详解
c语言·开发语言·数据结构·c++·算法
努力学算法的蒟蒻16 小时前
day26(12.6)——leetcode面试经典150
算法·leetcode·面试
代码游侠16 小时前
数据结构——哈希表
数据结构·笔记·学习·算法·哈希算法·散列表