首页 > 其他分享 >序列容器

序列容器

时间:2024-08-20 09:05:40浏览次数:12  
标签:返回 容器 const 迭代 元素 序列

序列容器

序列容器以线性序列的方式存储元素。它没有对元素进行排序,元素的顺序和存储它们的顺序相同。5 种标准的序列容器,每种容器都具有不同的特性:

  1. array<T,N> (数组容器) :长度固定的序列,有 N 个 T 类型的对象,不能增加或删除元素。
  2. vector<T> (向量容器) :长度可变的序列,用来存放T类型的对象。必要时,可以自动增加容量,但只能在序列的末尾高效地增加或删除元素。
  3. deque<T> (双向队列容器) :长度可变的、可以自动增长的序列,在序列的两端都不能高效地增加或删除元素。
  4. list<T> (链表容器) 长度可变的、由 T 类型对象组成的序列,它以双向链表的形式组织元素,在这个序列的任何地方都可以高效地增加或删除元素。访问容器中任意元素的速度要比前三种容器慢,这是因为 list<T> 必须从第一个元素或最后一个元素开始访问,需要沿着链表移动,直到到达想要的元素。
  5. forward list<T> (正向链表容器) :是一个长度可变的、由 T 类型对象组成的序列,它以单链表的形式组织元素,是一类比链表容器快、更节省内存的容器,但是它内部的元素只能从第一个元素开始访问。

容器中常见的函数成员

array、vector 和 deque 容器的函数成员

函数成员 array<T,N> vector deque
begin() - 返回幵始迭代器
end() - 返回结束迭代器
rbegin() - 返回反向开始迭代器
rend() - 返回反向结束迭代器
cbegin() - 返M const开始迭代器
cend() - 返回const结束迭代器
crbegin() - 返回const反向开始迭代器
crend() - 返回const反向结束迭代器
assign() - 用新元素替换原有内容 -
operator=() - 复制同类型容器的元素,或者用初始化列表替换 现有内容
size() - 返回实际元素个数
max_size() - 返回元素个数的设大值
capacity() - 返回当前容量 - -
empty() - 返回true,如果容器中没有元素的话
resize() - 改变实际元素的个数 -
shrink _to_fit() - 将内存减少到等于当前元素实际所使用的大小 -
front() - 返回第一个元素的引用
back() - 返回铖后一个元素的引用
operator[]() - 使用索弓丨访问元素
at() - 使用经过边界检査的索引访问元素
push_back() - 在序列的尾部添加一个元素 -
insert() - 在指定的位置插入一个或多个元素 -
emplace() - 在指定的位置直接生成一个元素 -
emplace_back() - 在序列尾部生成一个元素 -
pop_back() - 移出序列尾部的元素 -
erase() - 移出一个元素或一段元素 -
clear() - 移出所苻的元素,容器大小变为 0 -
swap() - 交换两个容器的所有元素
data() - 返回包含元素的内部数组的指针 -

list 和 forward_list 的函数成员

函数成员 list forward list
begin() - 返回开始迭代器
end() - 返回结束迭代器
rbegin() - 返回反向开始迭代器 -
rend() - 返回反向结束迭代器 -
cbegin() - 返回 const 开始结束迭代器
before_begin() - 返回一个指向第一个元素前一个位置的迭代器 -
cbefore_begin() - 返回一个指向第一个元素前一个位置的const迭代器 -
cend() - 返回 const 结束迭代器
crbegin() - 返回 const 反向开始迭代器 -
crend() - 返回 const 反向结束迭代器 -
assign() - 用新元素替换原有内容
operator=() - 复制同类型容器的元素,或者用初始化列表替换现有内容
size() - 返回实际元素个数 -
max_size() - 返回元素个数的最大值
resize() - 改变实际元素的个数
empty() - 返回 true,如果容器中没有元素的话
from() - 返回第一个元素的引用
back() - 返回最后一个元素的引用 -
push_back() - 在序列的潘部添加一个元素 -
push_front() - 在序列的起始位置添加一个元素
emplace() - 在指矩位置直接生成一个元素 -
emplace_after() - 在指定位置的后面直接生成一个元素 -
emplace_back() - 在序列尾部生成一个元素 -
cmplacc_front() - 在序列的起始位生成一个元索
insert() - 在指定的位置插入一个或多个元素 -
insert_after() - 在指定位置的后面插入一个或多个元素 -
pop_back() - 移除序列尾部的元素 -
pop_front() - 移除序列头部的元素
reverse()-反向元素的顺序
erase() - 移除指定位置的一个元素或一段元素 -
erase_after() - 移除指定位 1;后面的一个元素或一段元素 -
remove() - 移除所苻和参数匹配的元素
remove_if() - 移除满足一元函数条件的所有元素
unique() - 移除所有连续重复的元素
clear() - 移除所有的元素,容器大小变为 0
swap() - 交换两个容器的所有元素
sort() - 对元素进行排序
merge() - 合并两个有序容器
splice() - 移动指定位置前面的所有元素到另一个同类型的 list 中 -
splice_after() - 移动指定位置后面的所有元素到另一个同类型的 list 中 -

标签:返回,容器,const,迭代,元素,序列
From: https://www.cnblogs.com/sprinining/p/18368702

相关文章

  • 踩过的坑(一)——web容器升级
    背景:国产化web容器(宝兰德)升级。 踩坑过程:web容器升级后,web系统正常访问,看似正常。晚上批量跑批的时候,中断了。中断原因:发现某路径下的文件,的确存在,但是程序报NoSuchFileException。调查得知,现在该文件的权限是640(linux),想定应该是644。其他用户组的read权限缺失,导致文件不......
  • StoryGAN——用于生成基于图片序列的故事或剧情内容
    一、StoryGAN的介绍StoryGAN是一种用于生成多张连续图像来讲述故事的生成模型,它将图像生成与文本生成结合在一起,以生成与故事叙述匹配的视觉序列。StoryGAN的应用场景主要包括生成漫画、故事板和动画短片。二、StoryGAN的使用场景漫画生成:StoryGAN可用于根据文本生成连......
  • 金蝶云星空解锁时同时解锁序列号
     业务背景公司业务要求,如果检查发现序列号有问题,先锁库不允许出库。如果已经锁库,此时序列号允许出库,则可以解锁。 前置任务:金蝶云星空锁库时同时锁定序列号-lanrenka-博客园(cnblogs.com)系统现状即时库存锁库,锁定的是数量,库存-锁库数=可用数,当可用量小于等于0就......
  • Docker 容器中镜像导出/导入
    利用容器中镜像导出/导入创建一个简单的Docker镜像利用dockerps-a命令查看要导出的镜像。导出查看要导出的镜像[root@localhost~]#dockerps-adockerexport命令进行镜像导出。[root@localhost~]#dockerexport418ae>nginx-docker.tar导入[vipsoft@kafka1ho......
  • 阿里开源通用多模态大模型mPLUG-Owl3:迈向多图长序列理解
             阿里的mPLUG系列在多模态大模型领域产出了多项研究工作。从mPLUG-Owl初代模型引入了视觉对齐-语言模型微调的训练模式,到mPLUG-Owl2通过模块化的模态自适应解决模态拉扯,再到mPLUG-DocOwl通过切图建模高分辨率。这一系列模型一直在探索更为高效有效的多模态......
  • 反序列化刷题(一)
    反序列化刷题web255将isvip改为true然后序列化echourlencode($v=serialize($f=newctfShowUser()));Cookie:O%3A11%3A%22ctfShowUser%22%3A3%3A%7Bs%3A8%3A%22username%22%3Bs%3A6%3A%22xxxxxx%22%3Bs%3A8%3A%22password%22%3Bs%3A6%3A%22xxxxxx%22%3Bs%3A5%3A%22isVip%22%3......
  • C. 在表格里造序列
    题意对于每一对满足\(1\lei,j\len\)的\((i,j)\),计算有多少个长度为\(m\)的序列,权值在\([1,n]\)之间且\(\gcd(a_1,a_2,...,a_m)=\gcd(i,j)\)。答案对\(998244353\)取模。思路方法:莫比乌斯反演+杜教筛不会莫比乌斯反演?出门右转:OI-wiki。不会杜教筛?出门右转:OI-wi......
  • 2024年新SCI顶刊算法蛇鹭优化算法SBOA优化Transformer-LSTM模型的多变量时间序列预测
    matlabR2024a以上一、数据集二、2024年新SCI顶刊算法蛇鹭优化算法SBOA2024年,YFu受到自然界中鹭鹰生存行为启发,提出了鹭鹰优化算法(SecretaryBirdOptimizationAlgorithm,SBOA)。2.1算法思想SBOA生存需要不断地寻找猎物和躲避捕食者的追捕,探索阶段模拟鹭鹰捕食蛇,而......
  • docker 容器迁移
    第一步:使用dockercommit命令将运行中的容器保存为新的镜像。这里需要容器的ID或名称,以及你想要命名的目标镜像名dockercommit[容器ID或名称][目标镜像名]:[标签]#例如:dockercommitmy_containermy_new_image:latest第二步:使用dockersave命令将刚才创建的镜像保存为tar......
  • 在K8S中,如果容器没有bash命令,如何进⼊容器排查问题?
    在Kubernetes(K8S)中,如果容器内没有bash或其他常见的shell命令(如sh),那么直接通过kubectlexec命令进入容器进行问题排查会受限。不过,仍有一些方法可以用来间接地进入容器或获取容器的相关信息来排查问题。以下是一些常用的方法:1.使用kubectllogs命令查看容器日志容器日志是了解容......