链表

lcj25112 天前
c++·笔记·链表·list
【list】手撕C++ list!从0到1实现双向链表,迭代器、const迭代器、模板全解析,面试官都惊呆了!不支持通过下标访问(operator[ ]),不支持下标加减,支持++和–(访问下一个和前一个)sort:只支持随机迭代器
代码中介商2 天前
算法·链表·缓存
LRU缓存算法:双向链表+哈希表实现在前面的文章中,我们系统学习了双向循环链表的原理与实现。双向链表有一个重要的应用场景——LRU 缓存淘汰算法(Least Recently Used,最近最少使用)。
Lsk_Smion2 天前
数据结构·链表
力扣实训 _ [25].K个一组链表摘要:LeetCode 25 题“K 个一组翻转链表”是链表操作中的经典难题。相比于复杂的区间内指针交换,本文将介绍一种更符合直觉的 “断链 + 整体翻转” 策略。通过引入虚拟头节点和辅助函数,我们将复杂的逻辑拆解为简单的步骤,配合详细的代码注释,助你彻底掌握这一解题套路。
FuckPatience3 天前
链表·c#·list
C# new List<T>(IEnumerable<T> collection),链表初始化时传入已存在链表问 copy 的各个元素和原链表persons 的各个元素指向的对象内存地址是一样的吗?答:是的证明:
Chensay.3 天前
数据结构·链表
链表的基本操作(C语言版)一、实验内容: 1.编写链表基本操作函数。 (1)InitList(LIST *L,int ms)::初始化链表。 (2)InsertListl(LIST *L,int item,int rc):向链表指定位置插入元素。 (3)InsertList2(LIST *L,int item,int rc):向有序链表指定位置插入元素。 (4)DeleteList(LIST *L,int item):删除指定元素值的链表记录。 (5)FindList(LIST *L,int item):查找链表中的元素。 (6)
悠仁さん3 天前
c语言·数据结构·链表·list
list 链式表基本功能模拟实现(双向有头指针循环链表)目录链式表的分类方式按节点连接方式分类按存储结构分类按功能扩展分类带头双向循环动态链表模拟实现链式表(链表)根据不同的结构和特性,可以分为以下几类:
不会就选b4 天前
数据结构·链表
数据结构之双向循环链表根据不同的需求,实践应用中衍生出了多种不同的链表结构,有单向和双向链表、带头结点和不带 头结点的链表、循环和非循环的链表
不会就选b5 天前
数据结构·链表
数据结构之顺序表和链表的OJ题(上)1.暴力解法2.空间换时间(新开一个顺序表,来存储)3.对撞双指针解法左指针找等于 val 的元素,右指针找不等于 val 的元素,找到后交换,把 val 全部挤到数组尾部,最终 left 就是有效元素个数 k.
Lucky_ldy5 天前
数据结构·链表
数据结构从入门到精通:链表遍历链表,找到第一个数据等于目标值 x 的结点并返回其地址;遍历完都没找到则返回 NULL。从第一个数据结点开始,向后移动 i 次,找到第 i 个结点(注意:这里下标从 0 开始,L->next 是第 0 个结点)。循环条件 iNode != NULL && j < i 是关键:既要保证还没到目标下标,也要保证当前结点不为空,防止访问越界。
love_muming5 天前
java·数据结构·链表
从 ArrayList 到 LinkedList:Java 集合中数组与链表的深度对比在 Java 集合框架中,ArrayList 和 LinkedList 是最常用的两种 List 实现。ArrayList 基于动态数组,提供了高效的随机访问,但在中间位置插入或删除元素时,需要移动后续所有元素,性能开销较大。正是为了弥补这一缺陷,LinkedList(基于双向链表)应运而生,它在任意位置插入和删除操作上具有常数时间复杂度。本文将首先剖析 ArrayList 的底层结构与性能瓶颈,然后深入讲解链表的原理与实现,最后系统对比两者的核心差异,帮助你在不同场景下做出最合适的选择。
晚风吹红霞5 天前
c++·链表·list
C++ list 容器完全指南:从入门到手撕双向链表list 是 C++ 标准模板库(STL)中的一种序列容器,其底层实现是一个带头结点的双向循环链表。这意味着:
8Qi86 天前
数据结构·算法·leetcode·链表·
LeetCode 23. 合并 K 个升序链表 —— 小顶堆(PriorityQueue)本题是 21. 合并两个有序链表 的进阶版。核心思想:每次只取 当前所有链表头部最小的节点具体做法:📌 关键点:
8Qi86 天前
数据结构·算法·leetcode·链表·递归·分治·归并
LeetCode 148. 排序链表 —— 解法一:自顶向下递归(分治 + 归并)https://leetcode.cn/problems/sort-list/要在链表上实现 O ( n log ⁡ n ) O(n \log n) O(nlogn) 的时间复杂度,归并排序(Merge Sort)是最佳选择。本题采用的是 自顶向下(Top-Down) 的递归策略。
8Qi86 天前
数据结构·算法·leetcode·链表·归并·迭代
LeetCode 148. 排序链表 —— 解法二:自底向上归并(迭代,O(1) 空间)本题要求在 O(n log n) 时间内排序链表,且尽可能少用额外空间。解法一使用了递归,空间复杂度为 O(log n)。 本解法采用 自底向上(Bottom-Up)归并排序,完全消除递归栈,实现 O(1) 额外空间。
papership6 天前
数据结构·算法·链表
【入门级-数据结构-1、线性结构:链 表(单链表、双向链表、循环链表 )】一、链表的基本概念 链表是一种物理存储单元上非连续、非顺序的线性结构,数据元素之间的逻辑关系通过指针链接来实现。
Dlrb12117 天前
linux·数据结构·链表·内核链表·inline·容器宏
数据结构-内核链表目录一. 什么是内核链表1.1 内核链表的本质:1.2 内核链表的优点二. 内核链表的相关函数与宏2.1 节点的声明
菜菜的顾清寒7 天前
算法·leetcode·链表
力扣HOT100(42)链表-随机链表的复制用一个哈希表,存「原节点 → 新节点」的一一对应关系。 这样不管什么时候,只要你需要找某个原节点对应的新节点,直接查哈希表就行,完美解决 “random 指向的节点还没创建” 的问题。
云泽8088 天前
数据结构·c++·算法·链表
笔试算法 - 链表篇(一):移除、反转、合并、回文判断全解析大家好啊,我是云泽Q,欢迎阅读我的文章,一名热爱计算机技术的在校大学生,喜欢在课余时间做一些计算机技术的总结性文章,希望我的文章能为你解答困惑~
南境十里·墨染春水8 天前
数据结构·链表
数据结构 —— 双向循环链表在计算机科学中,链表是最为基础且应用广泛的线性数据结构之一。相较于数组,链表在内存中无需连续存储,具备高效的插入与删除操作,能够灵活应对动态数据管理的场景。在单向链表、双向链表、循环链表的基础上,双向循环链表结合了双向链表与循环链表的双重优势,既支持双向遍历,又形成首尾闭环,在操作系统进程管理、LRU 缓存、文本编辑器、音乐播放器播放列表等场景中发挥着不可替代的作用。本文将从定义、结构特性、核心操作、代码实现与应用场景五个维度,全面解析双向循环链表这一经典数据结构。
Lucky_ldy9 天前
数据结构·链表
数据结构从入门到精通:顺序表这里只给数组的类型 为 typedef定义的别名(方便以后一键修改),而size表示的就是有效数据的个数一直是int类型