c++ STL 容器——序列
STL中11个容器类型分别是deque,list,queue,priority_queue,stack,vector,map,multimap,set,multiset,bieset(在比特级处理数据的容器,不讨论)
一些基本的容器特征
表达式 | 返回值 | 说明 | 复杂度 |
XX:iterator | 对应迭代器 | 指针 | 编译时间 |
X u | 创建一个名为u的空容器 | 固定 | |
X u(a) /X u=a | 复制a到u | 线性 | |
a.begin() | 迭代器 | 指向容器的第一个元素 | 固定 |
a.end() | 迭代器 | 指向超尾值迭代器(最后一个元素+1) | 固定 |
a.size() | unsigned int | 返回元素个数 等价于a.end()-a.begin() | 固定 |
a.swap(b) | void | 交换a,b的内容 | 固定 |
a==b / a!=b | bool | 是否完全一样(长度,每一个元素都一样) | 线性 |
序列:
6种容器是序列:deque双端队列,list双向链表,queue队列,priority_queue优先队列,stack栈,vector数组
表达式 | 返回值 | 说明 |
X a(n,t) | 声明一个类型为X,名为a,由n个t组成的序列 | |
X a(i,j) |
声明一个类型X,名为a,并将其初始化为区间【i,j)的内容 |
|
a.insert(p,t) | 迭代器 | 将t插入到p前 |
a.insert(p,n,t) | void | 将n个t插入到p前 |
a.insert(p,i,j) | void | 将区间【i,j)的元素插入到p前 |
a.erase(p) | 迭代器 | 删除p指向的内容 |
erase(p,q) | 迭代器 | 删除区间【p,q】的元素 |
a.clear() | void | 删除所有,等价于a.erase(a.begin(),a.end()); |
其他容器函数:
表达式 | 含义 | 对应容器 |
a.front() | 返回第一个 | vector,list,deque,queue |
a.back() | 返回最后一个 | vector,list,deque,queue |
a.push(pop)_front() | 在第一个前添加(删除) | list,deque |
a.push(pop)_back() | 添加(删除)最后一个 | list,deque,vector |
a[n] / a.at(n) | 返回第n个元素 | a[n]不检查是否越界;a.at(n)检查是否越界 |
栈和队列的成员函数写过了 http://www.cnblogs.com/jinmingyi/p/6798041.html
c++ STL 容器——序列的更多相关文章
- STL常用序列容器
这里简要的记述一下STL常用容器的实现原理,要点等内容. vector vector是比较常用的stl容器,用法与数组是非类似,其内部实现是连续空间分配,与数组的不同之处在于可弹性增加空间,而arra ...
- STL容器
啦啦啦,今天听啦高年级学长讲的STL容器啦,发现有好多东西还是有必要记载的,毕竟学长是身经百战的,他在参加各种比赛的时候积累的经验可不是一天两天就能学来的,那个可是炒鸡有价值的啊,啊啊啊啊啊 #inc ...
- 【转】c++中Vector等STL容器的自定义排序
如果要自己定义STL容器的元素类最好满足STL容器对元素的要求 必须要求: 1.Copy构造函数 2.赋值=操作符 3.能够销毁对象的析构函数 另外: 1. ...
- STL容器迭代器失效分析
连续内存序列容器(vector, string, deque) 对于连续内存序列STL容器,例如vector,string,deque,删除当前iterator会使得后面所有的iterator都失效, ...
- STL容器的适用情况
转自http://hsw625728.blog.163.com/blog/static/3957072820091116114655254/ ly; mso-default-props:yes; m ...
- STL容器与配接器
STL容器包括顺序容器.关联容器.无序关联容器 STL配接器包括容器配接器.函数配接器 顺序容器: vector 行为类似于数组,但可以根据要求 ...
- STL容器的本质
http://blog.sina.com.cn/s/blog_4d3a41f40100eof0.html 最近在学习unordered_map里面的散列函数和相等函数怎么写.学习过程中看到了一个好帖子 ...
- STL容器总结
一. 种类: 标准STL序列容器:vector.string.deque和list. 标准STL关联容器:set.multiset.map和multimap. 非标准序列容器slist和rope.sl ...
- C++ STL容器总结
1. STL 容器 1. 按种类划分 顺序容器( sequence containers):是一种各元素之间有顺序关系的线性表,是一种线性结构的可序群集.顺序性容器中的每个元素均有固定的位 ...
随机推荐
- Linux网络服务12——NFS共享服务
Linux网络服务12--NFS共享服务 一.NFS简介 端口号:TCP.UDP 111端口 NFS(Network File System)网络文件系统,是一种基于TCP/IP传输的网络文件系统协议 ...
- 基于Dubbo的分布式事务框架(LCN)
原文地址:http://原文地址:https://github.com/1991wangliang/transaction 基于Dubbo的分布式事务框架(LCN) 该框架依赖Redis/dubbo/ ...
- 【Android Developers Training】 26. 在SQL数据库中保存数据
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 读RCNN论文笔记
1. RCNN的模型(如下图)描述: RCNN相比传统的物体检测,还是引入传统的物体检测的基本流程,先找出候选目标物体,逐个的提取特征,不过rbg大神引入了当时炙手可热的CNN卷积网络取代传统上的HO ...
- web前段学习2017.6.13
CSS---表现层,修饰和表现html文档,为了解决结构层和表现层分离的问题. 通过CSS极大的提高了工作效率,方便工作人员维护和管理CSS:层叠样式表,目前用的最广泛的css版本为css2,最新版本 ...
- 基于 svn 服务器及 cocoapods-repo-svn 插件进行组件化私有库的创建
一.准备 组件化 随着业务需求的增长,在单工程 MVC 模式下,app 代码逐渐变得庞大,面对的高耦合的代码和复杂的功能模块,我们或许就需要进行重构了,以组件化的形式,将需要的组件以 pod 私有库的 ...
- IIS 部署WCF服务注意事项
IIS部署WCF服务的时候经常会出现如下错误: System.ServiceModel.EndpointNotFoundException”类型的未经处理的异常在 WinformWcfHost.exe ...
- 同一个tomcat多个项目共享session,一个tomcat两个项目共享sessionId
同一个tomcat多个项目共享session,一个tomcat两个项目共享sessionId >>>>>>>>>>>>>& ...
- Excel多表合并的宏
Sub 合并当前目录下所有工作簿的全部工作表() Dim MyPath, MyName, AWbName Dim Wb As Workbook, WbN As String Dim G As Long ...
- CSS3-loading动画(三)
分享继续,图片看得不真切 在线演示demo:http://liyunpei.xyz/loading.html 十一.效果十一 四个小球分别包含于四个正方形div,将小球相对于正方形定位(top:0:l ...