TechBlog
首页分类标签搜索关于
← 返回标签列表
加载中...

© 2025 TechBlog. All rights reserved.

#标签

共 78 篇文章
C-list容器模拟实现迭代器构造与STL风格编程

C-list容器模拟实现迭代器构造与STL风格编程

迭代器的核心效果是模拟原生指针的行为且提供统一的方式去封装底层的细节,该文章就尤其体现了面向对象封装的特点,算是一篇真正意义上的工业级别的模拟实现

时间:12/19/2025

C初阶9list使用攻略

C初阶9list使用攻略

本文介绍了C++STL中的list容器及其应用。list基于双向循环链表实现,适合频繁插入删除操作,时间复杂度为O(1)。文章详细讲解了list的初始化、迭代器使用误区、核心增删查改操作(push_back/pop_back/insert/erase等),以及常用函数如remove、size等。特别强调了list特有的成员函数sort、unique、merge和reverse的优化使用,这些函数针对链表结构进行了性能优化。通过代码示例展示了list与vector的区别及适用场景,帮助开发者根据需求选择合适

时间:12/14/2025

list的实现和使用

list的实现和使用

push_backpush_front:O(1)insert(在已知位置):O(1)erase(给定迭代器):O(1)find(基于值):O(n)splice:O(1)(只是改变指针,不拷贝)sort()list::sort):O(nlogn)(归并排序):O(n)注意:虽然对单个已知位置的插入/删除为O(1),但查找位置仍然可能需要O(n)。

时间:12/12/2025

LeetCode-148Sort-List链表排序完整解析从冒泡到归并

LeetCode-148Sort-List链表排序完整解析从冒泡到归并

给你一个单链表的头结点head,请将其按升序排序,并返回排序后的链表头结点。链表长度范围为[0,5*10^4],节点值在[-10^5,10^5]之间。进阶要求是时间复杂度O(nlogn),额外空间复杂度O(1)。leetcode​。

时间:12/10/2025

Tiptap如何使用-ordered-list

Tiptap如何使用-ordered-list

【代码】【Tiptap】如何使用orderedlist?

时间:12/08/2025

list实现7下

list实现7下

C++第七章知识

时间:12/08/2025

Java中数组ArrayList和List的初始化与转换

Java中数组ArrayList和List的初始化与转换

摘要:Java中数组(int[])与集合(ArrayList/List)的主要区别在于数组固定大小且存储基本类型,集合动态扩容且存储对象。数组可通过new或字面量初始化,集合使用ArrayList或Arrays.asList创建。转换方法包括:List转数组使用stream().mapToInt(),数组转List需遍历添加元素,集合间转换通过构造方法实现。这些数据结构各具特点,适用于不同场景。

时间:12/06/2025

JAVA获取一个LIST中的最大值

JAVA获取一个LIST中的最大值

Vouchermax=list.stream().max(Comparator.comparing(Voucher::getAmountCny)).orElse(null);

时间:12/05/2025

主题stdlistNodeiterator-和-Node-的区别

主题stdlistNodeiterator-和-Node-的区别

Node*纯粹的裸指针类型,只表示“一块内存的地址”,不知道自己属于哪个容器,也不知道这块内存是不是链表节点。STL定义的一个迭代器类类型,语法上表现得“像指向Node的指针”,但内部通常保存的是容器节点指针和一些额外信息,用来描述:“在这条上的某一个位置”和Node*本质类型不同Node*:裸指针iterator:类类型,封装了节点指针和容器语义语义不同Node*:只是某个对象的地址iterator:某个容器上的“位置”,属于某个实例使用接口不同迭代器支持STL算法、容器成员函数(如。

时间:11/24/2025

Python的数据类型

Python的数据类型

Python包含六种核心数据类型:数字类型-不可变类型,支持数学运算字符串-不可变文本类型,支持切片、格式化(f-string/%-formatting)和常用方法(split/strip/find等)列表-可变有序集合,支持增删改查操作元组-不可变列表,用于函数传参字典-键值对结构,通过key快速查找value集合-去重容器,支持集合运算(并/交/差集)流程控制包括:条件判断、循环结构、循环控制

时间:11/21/2025

Unity面经-List底层原理如何基于数组如何扩容List存储泛型List有关在内存中的结构

Unity面经-List底层原理如何基于数组如何扩容List存储泛型List有关在内存中的结构

本文解析了动态数组(List)的工作原理及其内存管理机制。文章首先阐述了普通数组的特性:固定长度、连续内存分布、O(1)访问时间。随后详细介绍了List如何通过底层数组实现动态扩容,包括Capacity/Count属性、默认2倍扩容机制及内存复制过程。文章还分析了插入删除操作的时间复杂度,并澄清了内存存储的常见误区,指出值类型并非总是存在栈中,在List中会直接存储在堆上且不发生装箱。最后解释了List及其元素的GC回收机制,强调正确理解这些特性对优化性能的重要性。

时间:11/16/2025

c.net-List对象和字典对象Dictionary,HashSet对比

c.net-List对象和字典对象Dictionary,HashSet对比

若需顺序访问、索引操作,或操作以“添加/遍历”为主→选。若需频繁查找、删除特定元素,或按“键”快速定位→选Dictionary。补充:如果既要顺序性又要高效查找,可结合两者(如用List维护顺序,用辅助去重/查找,HashSet本质是简化的字典,仅存键不存值)。

时间:11/15/2025

LeetCode-19-Remove-Nth-Node-From-End-of-List

LeetCode-19-Remove-Nth-Node-From-End-of-List

摘要:本文介绍了LeetCode19题(删除链表的倒数第N个节点)的多种解法。题目要求在单链表中删除倒数第N个节点并返回头节点。主要解法包括:1)双指针+哨兵节点(最优),通过快慢指针定位目标节点;2)两遍遍历,先计算链表长度再定位删除;3)递归法,利用回溯计数找到目标节点;4)栈方法,通过栈存储节点实现定位。其中双指针法在时间O(L)和空间O(1)下最高效,适合处理链表删除问题。每种方法附Java实现和复杂度分析,帮助理解不同场景下的适用性。

时间:11/15/2025

C-Dictionary-转换成-List

C-Dictionary-转换成-List

在C#中,将Dictionary<TKey,TValue>转换为List的方式取决于你需要List中存储的内容(键、值、键值对,或自定义类型)。

时间:11/13/2025

Clistlist的使用及模拟实现

Clistlist的使用及模拟实现

详细介绍了C++中list容器的使用和模拟实现。主要内容包括:list接口的使用(构造/析构函数、数据操作接口等),以及list的底层实现(节点封装、迭代器实现、构造函数实现等)。文章通过代码示例展示了list的各种操作方法,并分析了list与vector在排序效率上的差异。在模拟实现部分,重点讲解了节点结构、迭代器封装和构造函数的实现原理,特别是如何处理深拷贝和迭代器失效问题。整体内容系统全面,,对理解list容器的工作原理具有重要参考价值。

时间:11/11/2025

cpp_list

cpp_list

Keepyourspiritfree保持你的灵魂自由

时间:11/08/2025

C-List集合

C-List集合

List是一种泛型集合类,用于存储一组相同类型的元素。

时间:10/26/2025

list的介绍

list的介绍

list的底层是双向循环列表,每个节点包含:数据域:存储元素值。前驱指针(prev):指向前一个节点。后继指针(next):指向后一个节点特点:节点在内存中不连续,通过指针链接任意位置插入/删除只需修改指针(时间复杂度O(1))

时间:10/26/2025

CentOS系统yum-list使用指南

CentOS系统yum-list使用指南

yum list是 YUM(Yellowdog Updater, Modified)包管理工具中用于查询软件包信息的核心命令。它能帮助用户查看系统中可用的软件包及其状态。

时间:10/22/2025

Clist链表

Clist链表

list链表介绍、以及各种库函数的使用。重点了解list与前面vector、string的区别 了解什么场景下适合选择哪种容器。

时间:10/19/2025

8.list的模拟实现

8.list的模拟实现

T _data;

时间:10/16/2025

list的使用

list的使用

以下使用是基于与string和vector部分较不常见的使用(少部分经常使用的未列举),还有部分可看。

时间:10/02/2025

一文学会二叉搜索树,AVL树,红黑树

一文学会二叉搜索树,AVL树,红黑树

二叉搜索树与AVL树摘要 二叉搜索树(BST)是一种有序二叉树,满足左子树小于根节点、右子树大于根节点的特性。其基本操作包括查找(O(h)复杂度)、插入和删除(需处理四种情况)。BST在数据有序时会退化成链表,效率降低。 AVL树是自平衡二叉搜索树,通过平衡因子(左右子树高度差≤1)保持平衡。插入节点后需调整平衡因子,不平衡时通过四种旋转操作恢复平衡:左单旋(右右失衡)、右单旋(左左失衡)、左右双旋(左右失衡)和右左双旋(右左失衡)。AVL树保证了O(log n)的查询效率,适合动态数据管理。

时间:09/09/2025

用-C-创建单向链表-forward-list

用-C-创建单向链表-forward-list

练习使用现代 C++ 的特性。

时间:08/29/2025

上一页
1234
下一页第 1 / 4 页