STL

8.STL的两级空间配置器

# 8.STL的两级空间配置器 ## 为什么有适配器? (1)小块内存带来的内存碎片问题 单从分配的角度来看。由于频繁分配、释放小块内存容易在堆中造成外碎片(极端情况下就是堆中空闲的内存总量满足一个请求,但是这些空闲的块都不连续,导致任何一个单独的空闲的块都无法满足这个请求)。 (2)小块内存频繁申 ......
空间 STL

6.STL中hashtable的实现?

6.STL中hashtable的实现? STL中的hashtable使用的是开链法解决hash冲突问题,如下图所示。 hashtable中的bucket所维护的list既不是list也不是slist,而是其自己定义的由hashtable_node数据结构组成的linked-list,而bucket聚 ......
hashtable STL

1.什么是STL?

# 1.什么是STL? C++STL从广义来讲包括了三类:算法,容器和迭代器。 - 算法包括排序,复制等常用算法,以及不同容器特定的算法。 - 容器就是数据的存放形式,包括顺序容器和关联式容器,顺序式容器就是list,vector等,关联式容器就是set,map等。 - 在C++中,迭代器是一种用于 ......
STL

C++STL

assert()函数 max_element()和min_element() 时间复杂度O(n) 作用:求C++数组或vector求最大值最小值,二者返回的都是迭代器或指针,可以通过*符号来获得值 max_element()和min_element()函数是一样的用法,这里要注意的是如果有多个最大值 ......
STL

linux gdb 调试STL

1.进入网站:https://sourceware.org/gdb/wiki/STLSupport,下载STL Surport Tool 2.将stl_views_1.0.3.gdb放到linux任意路径下,如/data/ 3.进入gdb调试模式,输入source /data/stl_views_1 ......
linux gdb STL

转载 STL用法

[C++ reference](http://www.cplusplus.com/reference/) [cppreference 中文版](https://zh.cppreference.com/w/%E9%A6%96%E9%A1%B5) STL 算法 [random_shuffle 手写随机函 ......
STL

线性数据结构和 STL

## `vector` 容器 `(container)` ### 定义及头文件引入 - 定义:一个可变长数组 - 头文件:`#include ` ### 常用变量定义及函数解析 - `end()`:尾后迭代器。 - `push_back(x)`:在末端插入元素 `x`(自动扩容)。 - 构造函数 - ......
数据结构 线性 结构 数据 STL

117.STL中的multiset

# 117.STL中的multiset ## 1.multiset的介绍 > 1.multiset是按照特定顺序存储元素的容器,其中元素是可以重复的 > 2.在multiset在,元素的value也会识别它组成的键值对,multiset元素的值不能在容器中进行修改,但可以插入和删除 > 3.在内部, ......
multiset 117 STL

116.STL中的set

# 116.STL中的set ## 1.set的简介 set的中文译为集合,知名见其意,因此set容器也就具有集合的属性啦!而集合这个概念大家应该上数学课应该都是学过的哈,集合它具有确定性、互异性、无序性。当然我们这里重点记住它的互异性就OK了,那么什么是互异性呢?就是说一个集合里边是不会出现两个甚 ......
116 STL set

115.STL中的multimap

# 115.STL中的multimap ## 1.multimap的基本性质 multimap容器是和map容器相似的关联式容器,所谓“相似”,是指multimap容器具有和map容器相同的特性,即multimap容器也存储pair类型的键值对(其中K表示键的类型,T表示值的类型),其中各个键值对的 ......
multimap 115 STL

114.STL中的map

# 114.STL中的map ## 1.map的简介 map是C++STL中的一个关联式容器,它提供一对一的hash,它类似于Python中的字典,也有着键值对(Key-Value)这一说。我们可以通过键(Key)来找到值(Value),但需要注意的是,每个键(Key)只能在map中出现一次哦! m ......
114 STL map

113.STL中的pair

# 113.STL中的pair ## 1.pair的简介 pair是C++STL(标准模板库)中的一个现有容器,它将2个数据整合成一组数据,当我们类似需求的时候就可以使用到pair啦!pair其实有点像Python中字典中的键值对(Key-Value),一个Key对应着一个Value。pair的本质 ......
pair 113 STL

STL·笔记

vector 基本操作 创建vector对象,vector<int> vec; 尾部插入数字:vec.push_back(a); 使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的。 使用迭代器访问元素. vector<int>::iterator it; for(it=v ......
笔记 STL 183

C++ stl锁的使用

我们在日常开发中经常要用到锁,这里记录一下实际开发过程中stl提供的锁的使用。 1、读写锁 读写锁算是用到的比较多的一种类型,主要实现对于同一个共享数据区,一个时间点只能有一个线程进行写(增删改),但可以有多个线程同时读(查)。换句话说,当有一个线程写的时候,其他线程(不管是读线程还是写线程)都必须 ......
stl

112.STL中的array

# 112.STL中的array ## 1.array介绍 > 在C++标准库中,array是固定大小的序列容器,array中包含特定个数并且严格按照线性序列排序的元素。因此array允许对元素进行随机访问,指向某一元素的指针可以通过偏移访问其他元素。在array内部,它只保存自己包含的元素,其他任 ......
array 112 STL

110.STL中的list

# 110.STL中的list ## 1.list的介绍 1.list是序列容器,允许在序列中的任何位置执行固定O(1)时间复杂度的插入和删除操作,并在两个方向进行迭代。 2.list容器使用双链表实现;双链表将每个元素存储在不同的位置,每个节点通过next,prev指针链接成顺序表。 3.list ......
list 110 STL

暑假对STL的学习用法

map map<int,int> s; map<int,vector<int> > s; map<int,list<int> > s; 这些就是map的初始化法子,前面那个就相当于数组下标,后面的就是键值了,可以用它搞二维数组就像第二 三个一样。 然后就是他的用处,他可以自动排序,但是是按照前面的k ......
STL

C++ STL容器之vector、list

(1) vector连续存储的容器,动态数组,在堆上分配空间底层实现:数组扩容机制:vector 增加(插入)新元素时,如果未超过当时的容量,则还有剩余空间,那么直接添加到最后(插入指定位置),然后调整迭代器。如果没有剩余空间了,则会重新配置原有元素个数的两倍空间,然后将原空间元素通过复制的方式初始 ......
容器 vector list STL

Lamps(STL+双端队列)

Lamps 题面翻译 有 $n$ 盏灯,每盏灯有不亮,亮,坏掉 3 种状态。一开始每盏灯都不亮。 第 $i$ 盏灯有属性 $a_i,b_i$。每次操作你可以选择一盏灭的灯将其点亮,并得到 $b_i$ 的分数。 每次操作结束后,记有 $x$ 盏灯亮着,则所有 $a_i \le x$ 的灯 $i$ 都会 ......
队列 Lamps STL

第一节 线性数据结构 STL

## vector 容器 ### 迭代器 interator ``` vector v{1, 0, 0, 8, 6}; for(vector::interator it = v.begin(); it != v.end(); it ++) cout s{1, 0, 0, 8, 6}; for(set ......
数据结构 线性 结构 数据 STL

STL常用函数

# STL常用函数 ## STL简介 *STL*是*Standard Template Library*的简称,中文名称为标准模板库,从根本上讲, 就是各种*STL*容器的集合,容器可以理解为能够实现很多功能的系统的函数。常见的容器有`` vector`` , ``stack`` , ``queue ......
函数 常用 STL

堆 STL

https://blog.csdn.net/qq_41687938/article/details/119257046 1 #include <bits/stdc++.h> 2 #include <queue> 3 using namespace std; 4 int n; 5 int x; 6 i ......
STL

STL 2

# STL 详解2 #### 1.stack容器 栈容器是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口,形式如图所示。stack容器允许新增元素,移除元素,取得栈顶元素,但是除了最顶端外,没有任何其他方法可以存取stack的其他元素。换言之,stack不允许 ......
STL

STL-二分查找函数

binary_serch:查找某个元素是否出现,返回bool型 lower_bound:查找第一个>=某个元素的位置 upper_bound:查找第一个>某个元素的位置 1. binary_search(beg,end,val) 返回一个bool变量,以二分法检索的方式在[beg,end]之间查找v ......
函数 STL

【学习笔记】AVL树类模板(参考STL红黑树的实现及 pb_ds 库的模板参数及函数命名)

嵌套类 PairCompare 以及一些 typedef 模板参数命名参考 pb_ds 库,当第二个模板参数不为 NullType 时,结点值域类型为 std::pair<const Key, Mapped>,否则为 const Key。 public: class PairCompare { pu ......
模板 函数 参数 笔记 pb_ds

C++面试八股文:用过STL吗?

某日二师兄参加XXX科技公司的C++工程师开发岗位第21面: > 面试官:用过STL吗? > 二师兄:(每天都用好吗。。)用过一些。 > 面试官:你知道STL是什么? > 二师兄:STL是指标准模板库(`Standard Template Library`),是C++区别于C语言的特征之一。 > 面 ......
八股文 八股 STL

STL 复习要点

顺序容器:vector, list, deque, string, array 关联容器:set, unordered_set, map, unordered_map 适配器:stack, queue C++ STL总结 STL概述 STL (Standard Template Library, 标 ......
要点 STL

C++面试八股文:用过STL吗?

某日二师兄参加XXX科技公司的C++工程师开发岗位第21面: > 面试官:用过STL吗? > > 二师兄:(每天都用好吗。。)用过一些。 > > 面试官:你知道STL是什么? > > 二师兄:STL是指标准模板库(`Standard Template Library`),是C++区别于C语言的特征之 ......
八股文 八股 STL

常用STL时间复杂度

缘由 最近有好几次写题因为STL的时间复杂度弄错导致题目T了,还找不到原因后(自己以为时间复杂度没有问题),被学长狠狠嘲讽了:( 所以写下这篇blog来总结常用的STL复杂度(我不想原地退役),希望以后不会错了。 vector push_back : O(1) pop_back : O(1) ins ......
复杂度 常用 时间 STL

【whale-starry-stl】01天 list学习笔记

# 一、知识点 ## 1. std::bidirectional_iterator_tag `std::bidirectional_iterator_tag` 是 C++ 标准库中定义的一个迭代器类型标签,用于标识支持双向遍历的迭代器类型。 在 C++ 中,迭代器是一种泛型指针,用于遍历容器中的元素 ......
whale-starry-stl 笔记 starry whale list