1.1 vector(数组)封装动态数组的顺序容器。 1.2 queue(队列)是容器适配器,他是FIFO(先进先出)的数据结构。 1.3 deque(双端队列)是有下标顺序容器,它允许在其首尾两段快速插入和删除。 1.4 set(集合)集合基于红黑树实现,有自动排序的功能,并且不能存放重复的元素。 1.5 unordered_set(无序集合)基于哈希表
deque特殊的存储结构使得它在头部和尾部插入删除元素的效率非常高,deque可以在头部再加一段空间存储元素,而vector由于采取一段连续存储空间存储元素,所以它在头部插入一个元素需要所有元素向后移动,效率极低。但是也正式因为deque这种特殊的存储结构,使得它的迭代器较于一般的迭代器更为复杂,虽然deque容器的迭代器也支持...
vector是最简单也是最重要的一个容器。其头文件为<vector>. vector是数组的一种类表示,它有以下优点:自动管理内存、动态改变长度并随着元素的增减而增大或缩小。 在尾部添加元素是固定时间,在头部或中间添加或删除元素是线性时间。 vector是可反转容器。下面以vector为例介绍可反转容器。 (待补充) (二)deque 头文件...
如下面左图所示,做一个矩阵乘,使用CPU计算需要三层for循环,而右图在昇腾AI处理器上使用vector计算单元,只需要两层for循环,最小计算代码能同时计算多个数据的乘加,更近一步,如果使用Cube计算单元,只需要一条语句就能完成一个矩阵乘的计算,这就是我们所说的SIMD(单指令多数据)。因此,我们通常使用AI处理器来进行大量...
要了解vector,list,deque.我们先来了解一下STL. STL是Standard Template Library的简称,中文名是标准模板库.从根本上说,STL是一些容器和算法的集合.STL可分为容器(containers).迭代器(iterators).空间配置器(allocator).配接器(adapters).算法(algorithms).仿函数(functors)六个部分.指针被封装成迭代器,这里vector,li...
STL 中有哪些常见的容器STL 中容器分为顺序容器、关联式容器、容器适配器三种类型,三种类型容器特性分别如下: 1. 顺序容器 容器并非排序的,元素的插入位置同元素的值无关,包含 vector、deque、list vector:动…
但是STL中stack和queue默认是使用deque缺省的。...在stack中元素增长时,deque比vector的效率高(扩容时不需要搬移大量数据);queue中的元素增长时,deque不仅效率高,而且内存使用率高。...2、优先级队列 2.1 priority_queue的介绍和使用优先队列是一种容器适配器,它与普通队列的不同之处在于,每个元素都有一个与之关联...
07_vector基本操作_对象创建_头部尾部操作元素_数组方式遍历vector 23分 36秒 高清 下载 08_vector的迭代器遍历和迭代器的种类_传智扫地僧 10分 23秒 高清 下载 09_vector基本操作_删除和插入_传智扫地僧 11分 41秒 高清 下载 10_中午知识点回顾 08分 53秒 高清 下载 11_deque容器基本操作 11分 14秒 ...
deque.resize(int num,elem); //重新指定容器的大小为num,若容器变长,则以元素elem填充新位置 //如果容器变短,则末尾超出容器大小的元素被删除 1. 2. 3. 4. 5. 6. deque同vector一样,但是其没有容量的概念,因为它是可以无限扩充的。 5.插入和删除 ...
STL 的源代码整体考虑的东西比较多,还要考虑和其他地方的结合,因此整体的设计是比较复杂的。基于这一系列原因,我们会以简单的形式去实现其核心框架接口,方便去学习 vector。 还是那句话,我们去模拟实现它们,不是为了造更好的轮子,而是为了去学习它,理解它的本质!自己造一次,心里会更清楚,更利于加深对它们的理解。