stl

我不会插花弄玉19 小时前
c++·stl
15.map,set下:AVL树,红黑树和map,set的封装【由浅入深-C++】在二叉搜索树(BST)的学习中,我们留下了一个巨大的隐患:如果数据是有序插入的,树会退化成单链表。为了解决这个“看天吃饭”的缺陷,两位苏联数学家 G.M. Adelson-Velsky 和 E.M. Landis 在 1962 年的论文 《An algorithm for the organization of information》 中提出了一种高度平衡的搜索树,并以两人的名字命名为 AVL 树。
ShineWinsu1 天前
数据结构·c++·算法·面试·stl·哈希表·unordered_map
对于C++中unordered_map的详细介绍hello 大家,那么在本篇博客中,我们将学习C++中unordered_map的使用方法,前面我们学习了unordered_set的用法,那么其实unordered_map的用法也差不多,但是依然值得我们去了解一下其各个接口的用处。
鱼子星_2 天前
数据结构·c++·笔记·stl
【C++】stack和queue的应用及其模拟实现:适配器与容器适配器前言本篇文章主要讲解STL中stack和queue的应用及实现,从这两个容器的学习中还会引出一个新的知识——容器适配器。因为stack和queue的实现很简单,所以本文的核心目标还是让你们知道,理解容器适配器以及适配器的设计模式,这里先透露一点内容,即标准库中一般不把stack,queue简单的定义为容器,而是称为容器适配器,具体的原因,我们之后进行讲解。
lingran__2 天前
开发语言·c++·stl·set·map·红黑树·关联式容器
C++ STL 关联式容器万字详解:set、multiset、map、multimap|接口用法 + 易错点 + 力扣真题实战目录引言:1.序列式容器和关联式容器2.set系列的使用2.1.set和multiset参考文档2.2.set类的介绍
程序喵大人6 天前
开发语言·c++·容器·小程序·迭代器·stl
【C++进阶】STL容器与迭代器 - 10 把容器、迭代器和数据流串成一个小程序博主介绍:程序喵大人【AIAgent项目】从零构建一个代码PRAgent 【C++进阶】STL容器与迭代器 - 01 STL 容器先解决元素放在哪里 【C++进阶】STL容器与迭代器 - 02 vector 为什么是一段会长大的连续数组 【C++进阶】STL容器与迭代器 - 03 string、array 和 deque 各自守住什么边界 【C++进阶】STL容器与迭代器 - 04 list 和 forward_list 用节点换稳定位置 【C++进阶】STL容器与迭代器 - 05 map 和 set 为
誰能久伴不乏8 天前
c++·架构·stl
深入解析 C++ STL 底层原理:从设计哲学到内存收割机在 C++ 的世界里,STL(Standard Template Library,标准模板库)是不可或缺的利器。很多人对 STL 的理解仅停留在“会用 vector 存数据,会用 map 查数据”的层面。但在大厂面试或是追求极致性能的底层开发中,仅仅“会用”是远远不够的。
阿米亚波9 天前
开发语言·数据结构·c++·笔记·stl
【C++ STL】std::unordered_multiset使用说明:支持多种初始化方式。默认构造创建空容器;可指定初始桶数量优化性能;支持传入自定义哈希和比较器以存储自定义类型;可通过迭代器范围、初始化列表快速填充数据;支持拷贝和移动语义,移动构造后源容器被清空。
程序喵大人10 天前
开发语言·c++·容器·迭代器·stl
【C++进阶】STL容器与迭代器 - 08 插入删除之后,哪些迭代器会失效博主介绍:程序喵大人【AIAgent项目】从零构建一个代码PRAgent 【C++进阶】STL容器与迭代器 - 01 STL 容器先解决元素放在哪里 【C++进阶】STL容器与迭代器 - 02 vector 为什么是一段会长大的连续数组 【C++进阶】STL容器与迭代器 - 03 string、array 和 deque 各自守住什么边界 【C++进阶】STL容器与迭代器 - 04 list 和 forward_list 用节点换稳定位置 【C++进阶】STL容器与迭代器 - 05 map 和 set 为
阿米亚波10 天前
开发语言·数据结构·c++·笔记·stl
【C++ STL】std::unordered_multimap使用说明:unordered_multimap 支持多种构造方式。默认构造生成空容器;范围构造和初始化列表构造可快速填入数据;拷贝和移动构造用于对象复制与转移。赋值操作与构造类似,支持覆盖原有内容。指定 bucket_count 可优化初始哈希表大小,自定义哈希函数允许使用复杂对象作为键。
鱼子星_10 天前
开发语言·数据结构·c++·笔记·stl·list
【C++】深入剖析list:list及其双向迭代器实现继上一篇文章讲解的vector之后,这篇文章将带大家学习和实现下一个STL的容器——list。通过前文我们知道,vector的底层是一个动态顺序表,主要是通过数组或者说一块连续的内部空间存储数据。而list则和vector不同,list的底层是一个链表,一个带头双向循环的链表,而因为链表本质是通过一个个物理上不连续的节点组成,所以,list的实现和vector的实现有很大的不同,就拿单个数据存储的方式来说,vector存储一个数据是直接开辟空间直接储存,而list则需要封装一个节点进行数据间接的存储。
一拳一个呆瓜11 天前
c++·stl
【STL】iostream 编程:输入流成员函数本文介绍输入流成员函数,包括相关示例。输入流成员函数用于磁盘输入,实现磁盘文件的读取操作。使用文件输入流 ifstream 时,需要将流对象和磁盘文件进行关联绑定。 有两种实现方式,两种写法的参数规则完全一致:
程序喵大人13 天前
开发语言·c++·容器·迭代器·stl
【C++进阶】STL容器与迭代器 - 05 map 和 set 为什么按键保持有序博主介绍:程序喵大人【AIAgent项目】从零构建一个代码PRAgent【C++进阶】STL容器与迭代器 - 01 STL 容器先解决元素放在哪里 【C++进阶】STL容器与迭代器 - 02 vector 为什么是一段会长大的连续数组 【C++进阶】STL容器与迭代器 - 03 string、array 和 deque 各自守住什么边界 【C++进阶】STL容器与迭代器 - 04 list 和 forward_list 用节点换稳定位置 统计一段文本的词频然后按字典序输出,这个需求用 vector 加 s
一拳一个呆瓜17 天前
c++·stl
【STL】iostream 编程:检测提取操作产生的错误本文介绍检测提取操作产生的错误。前文介绍过的输出流错误处理函数,同样适用于输入流。在执行数据提取的过程中校验错误状态十分关键。 参考下面代码语句:
一拳一个呆瓜18 天前
c++·stl
【STL】iostream 编程:使用提取运算符本文介绍一下使用提取运算符的规则。提取运算符 >> 已经为所有 C++标准数据类型预先实现,它是从输入流对象读取数据最简单的方式。
程序喵大人18 天前
开发语言·c++·stl
【C++进阶】STL容器与迭代器 - 01 STL 容器先解决元素放在哪里博主介绍:程序喵大人【AIAgent项目】从零构建一个代码PRAgent你手里有一组学生成绩记录,每条记录包含学生名字和分数。现在你需要把它们存起来,然后遍历、按名字查找、按分数排序。你打开编辑器,下意识地写了 std::vector<Student> records。这个选择在大多数时候是对的,但如果你停下来想一秒:除了 vector,C++ 标准库还提供了 list、map、unordered_map、set、deque、array、forward_list、multimap、multiset、uno
a35354138220 天前
stl
STL之Vectorstd::vector是一个连续存储的动态数组,位于头文件 <vector>中,属于 C++ 标准模板库(STL)的序列式容器。
qeen8721 天前
c++·学习·算法·迭代器·stl
【C++】vector的模拟实现详解(二)在上一篇文章中,我们已经认识了 C++ 标准库中的 vector,并学习了构造、遍历、扩容、插入和删除等常用接口。
红豆诗人22 天前
c++·stl
C++ string 和 vector 基础:从常用接口到模拟实现学到 STL 的时候,我一开始最容易犯的错误是:把 string 和 vector 当成一堆接口来背。
鱼子星_22 天前
开发语言·c++·笔记·stl
【C++】vectorvector是 C++ 标准模板库(STL)中的动态数组容器,支持动态调整大小、快速随机访问和灵活的插入与删除操作。可以将vector看成是一个动态顺序表或者是可变长数组。不过,与数据结构中的顺序表不同的是,vector支持不同类型的vector容器的对象同时存在。而它能支持这个功能是因为vector是底层是一个模板类。
阿米亚波25 天前
开发语言·c++·笔记·stl·visual studio·forward_list
【C++ STL】std::forward_list展示 forward_list 的多种构造方式,包括默认、填充、范围、初始化列表、拷贝、移动及自定义类型构造。