链表

lojox15 小时前
c++·链表·list
C++ 手写 STL list(双向循环链表)原理剖析与实现摘要:std::list 底层是带头双向循环链表,和 vector 连续数组的特性差异巨大。vector 迭代器本质是原生指针,而 list 节点散落在堆上,必须自己封装迭代器。本文从零手写简易版 bit::list,讲解节点结构、迭代器复用方案、增删接口、拷贝赋值、迭代器失效、list.sort 的性能坑点,同时对比 vector,理清 STL 容器与迭代器的设计思想,也是面试高频考点。 关键词:C++、STL、list、双向循环链表、迭代器、迭代器失效
BeiGuTing_code2 天前
c语言·链表·音视频
C链表基础(二)有视频模拟!!!在上一篇博客中(https://blog.csdn.net/BeiGuTing_code/article/details/168223571),我们已经了解了链表的基本概念,包括链表的定义、链表与数组的区别,以及链表的实现原理与代码准备。我们完成了静态链表的建立,并实现了链表的遍历。
aqiu1111113 天前
算法·leetcode·链表
CodeTop按顺序刷题0003:LeetCode 206. 反转链表(迭代法图文详解与动态演示)大家好!欢迎来到我的 CodeTop 按顺序刷题 合集。今天我们来攻克高频面试题:206. 反转链表。
longlongzihan6 天前
算法·leetcode·链表
LeetCode 25. K 个一组翻转链表 (迭代+分组反转法)给你链表的头节点 head,每 k 个节点一组进行翻转,请你返回修改后的链表。k 是一个正整数,它的值小于或等于链表的长度。
longlongzihan7 天前
算法·leetcode·链表
LeetCode 24.两两交换链表中的节点:虚拟头结点与指针给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。
longlongzihan7 天前
c++·算法·leetcode·链表
从LeetCode 19. 删除链表的倒数第 N 个结点深入理解“哨兵节点”在链表相关的算法题中,边界条件的处理往往是让人最容易翻车的地方。特别是当我们需要删除或插入头节点时,由于头节点没有“前驱节点”,我们往往不得不编写额外的 if-else 逻辑来特殊处理。
xiangyun617 天前
数据库·c++·算法·链表·stl·list
C++ list 模拟实现(一):手撕双向链表,从节点到迭代器摘要:上一篇我们讲了 list 迭代器为什么不是指针,很多读者留言说懂了理论但不知道怎么手写。本文将承接上一篇,手把手带你从零实现一个带头双向循环链表。涵盖节点设计、迭代器封装、核心接口实现。文末附完整可运行代码。
0+1117 天前
数据结构·算法·leetcode·链表
算法 --链表链表(Linked List)是数据结构中最基础、最高频,也是最考验指针操作功底的题型。它不像数组那样在内存中连续存储,而是通过指针将零散的内存块串联起来。
longlongzihan8 天前
c++·算法·leetcode·链表
链表找环:Floyd 判圈算法(LeetCode 141 & 142 )在链表相关的算法题中,「判断链表是否有环」以及「寻找入环点」是两道极其经典的题目。它们不仅考察了对指针的操作,更蕴含了一个巧妙的数学原理——Floyd 判圈算法(龟兔赛跑算法)。
夏幻灵9 天前
算法·leetcode·链表
LeetCode 21:合并两个有序链表——双指针与哑节点详解这道题的核心思路是:同时遍历两个有序链表,每次取出较小的节点,连接到新链表的末尾,直到所有节点合并完成。
夏幻灵9 天前
算法·leetcode·链表
每日一题:LeetCode 206:反转链表——三指针与原地反转详解这道题的核心并不是交换节点的值,而是改变每个节点的 next 指向,让原本从前往后的链表变成从后往前。
List<String> error_P13 天前
数据结构·链表
freertos数据结构--链表freertos内置链表库,以SWM320为例,链表库的数据结构如下:①根节点数据结构②节点数据结构SWM320RET7库有着以下基本操作函数:
程序员清风14 天前
数据结构·算法·链表
算法与数据结构入门:复杂度、数组与链表算法和数据结构是编程能力的基础。很多性能问题并不是由语言本身造成的,而是因为没有根据数据规模选择合适的数据结构,或者忽略了算法的时间和空间复杂度。
50万马克的面包15 天前
数据结构·链表
顺序表和链表_精华知识点_CSDN博客适合人群:刚学数据结构、被"顺序表/链表"绕晕的初学者。全文用大白话 + 生活类比讲解,代码可直接编译运行。
leikooo15 天前
java·数据结构·链表·rust
用餐厅和盘子理解栈和堆最近在学 Rust。其实之前就学过一段时间,但学到所有权这里就卡住了,概念一多加上当时在专升本,后面就放弃了🥲。趁着国庆假期有整块时间,决定重新捡起来,这次争取把它啃下来。
H.莓飛15 天前
linux·数据结构·算法·链表
【数据结构】链表_OJ题链表的题几乎全在考指针怎么改。数组题还能想想数学性质,链表题绕不开那几个固定动作:把 next 指向别人、让两个指针一快一慢、在头上加一个哨兵位。
lhbweilai16 天前
stm32·单片机·链表
深挖FreeRTOS内核实现(上)在之前的学习中,我只知道如果调用API实现想要的功能,但是这对于学习FreeRTOS的完全不够的,所以这次我将使用软件仿真来彻底了解FreeRTOS的内核,我相信基于之前的学习,我很快能掌握的
ShineWinsu17 天前
数据库·c++·redis·链表·缓存·面试·list
对于Redis:List类型的解析hello 大家,本篇博客我们来学习Redis中的list类型数据。Redis List(列表)作为五大基础数据类型(String、Hash、List、Set、Zset)中专门处理有序可重复集合的类型,是 Redis 中最灵活的线性数据结构之一。它支持对列表两端的高效插入 / 弹出操作,也能通过索引访问指定元素,既能充当栈又能实现队列,还能基于阻塞命令实现轻量级消息队列,是互联网开发中处理「有序序列数据」的首选方案。
bro_Java66618 天前
java·数据结构·链表
链表进阶2:双向链表的构建这个链表节点与先前的单向链表相比,多了一个prev指向前一个节点;1)首先要有头节点,判断是否为null,如果是,头节点指向新的节点; 2)新节点指向head,head的前一个节点prev指向新节点; 3)新节点变为头节点;
shehuiyuelaiyuehao18 天前
数据结构·算法·链表
算法54,链表 两数相加核心思路:模拟竖式加法,逐位相加并维护进位。