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

单向链表头插尾插

单向链表的销毁与反转

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

冒泡排

选排

链表环:

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

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

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

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

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

相关推荐
喜欢吃燃面4 分钟前
基础算法:枚举(上)
c++·学习·算法
郝学胜-神的一滴11 分钟前
计算思维:数字时代的超级能力
开发语言·数据结构·c++·人工智能·python·算法
m0_5312371712 分钟前
C语言-数组练习
c语言·开发语言·算法
识君啊18 分钟前
Java 动态规划 - 力扣 零钱兑换与完全平方数 深度解析
java·算法·leetcode·动态规划·状态转移
xiaoye-duck20 分钟前
《算法题讲解指南:优选算法-滑动窗口》--09长度最小的子数串,10无重复字符的最长字串
c++·算法
二年级程序员32 分钟前
一篇文章掌握“双向链表”
c语言·数据结构·链表
Frostnova丶34 分钟前
LeetCode 762 二进制表示中质数个计算置位
算法·leetcode
WZ1881046386938 分钟前
LeetCode第367题
算法·leetcode
元亓亓亓39 分钟前
考研408--数据结构--day14--B树&B+树&散列表
数据结构·b树·散列表·b+树·408
季明洵44 分钟前
Java实现循环队列、栈实现队列、队列实现栈
java·数据结构·算法··队列