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 容器——序列的更多相关文章

  1. STL常用序列容器

    这里简要的记述一下STL常用容器的实现原理,要点等内容. vector vector是比较常用的stl容器,用法与数组是非类似,其内部实现是连续空间分配,与数组的不同之处在于可弹性增加空间,而arra ...

  2. STL容器

    啦啦啦,今天听啦高年级学长讲的STL容器啦,发现有好多东西还是有必要记载的,毕竟学长是身经百战的,他在参加各种比赛的时候积累的经验可不是一天两天就能学来的,那个可是炒鸡有价值的啊,啊啊啊啊啊 #inc ...

  3. 【转】c++中Vector等STL容器的自定义排序

    如果要自己定义STL容器的元素类最好满足STL容器对元素的要求    必须要求:     1.Copy构造函数     2.赋值=操作符     3.能够销毁对象的析构函数    另外:     1. ...

  4. STL容器迭代器失效分析

    连续内存序列容器(vector, string, deque) 对于连续内存序列STL容器,例如vector,string,deque,删除当前iterator会使得后面所有的iterator都失效, ...

  5. STL容器的适用情况

     转自http://hsw625728.blog.163.com/blog/static/3957072820091116114655254/ ly; mso-default-props:yes; m ...

  6. STL容器与配接器

    STL容器包括顺序容器.关联容器.无序关联容器 STL配接器包括容器配接器.函数配接器 顺序容器: vector                             行为类似于数组,但可以根据要求 ...

  7. STL容器的本质

    http://blog.sina.com.cn/s/blog_4d3a41f40100eof0.html 最近在学习unordered_map里面的散列函数和相等函数怎么写.学习过程中看到了一个好帖子 ...

  8. STL容器总结

    一. 种类: 标准STL序列容器:vector.string.deque和list. 标准STL关联容器:set.multiset.map和multimap. 非标准序列容器slist和rope.sl ...

  9. C++ STL容器总结

    1.    STL 容器 1.    按种类划分 顺序容器( sequence containers):是一种各元素之间有顺序关系的线性表,是一种线性结构的可序群集.顺序性容器中的每个元素均有固定的位 ...

随机推荐

  1. 【Android Developers Training】 84. 将定期更新的影响最小化

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  2. 【Android Developers Training】 53. 打印HTML文档

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  3. Cornerstone.js使用相关

    官网地址:https://github.com/chafey/cornerstone 简介: Cornerstone is an open source project with a goal to ...

  4. oauth简单使用

    一.oauth原理参考 理解OAuth 2.0 二.本例中采用授权码模式 大致流程 (A)用户访问客户端,后者将前者导向认证服务器. (B)用户选择是否给予客户端授权. (C)假设用户给予授权,认证服 ...

  5. springmvc的POST 请求转为 DELETE 或 put 请求配置HiddenHttpMethodFilter

    1.web.xml里配置 <!-- 配置 org.springframework.web.filter.HiddenHttpMethodFilter: 可以把 POST 请求转为 DELETE ...

  6. IT小天博客APP版本

    今天弄了一个博客的APP版本,感觉还不错,欢迎下载体验. 共 1 张图片 APP名称:[IT小天博客APP] APP版本:1.3 APP上线时间:2017-06-29 下载地址:点击下载

  7. [jbdj]SpringMVC框架(3)映射器

    映射器:什么样的请求交给Action. 1} class  :  BeanNameUrlHandlerMapping  要掌握, 将程序员定义的Action所对应的<bean>标签的nam ...

  8. 在Linux上创建Postgresql数据库

    由于前一次用默认的配置创建pgsql数据库倒置root的占用率达到97%. 重新创建一次数据库,很多坑又忘了. 创建一个放Data的文件夹,/majestic12/pgsql/data PGDATA ...

  9. hdu 2612 多终点BFS

    Find a way Problem Description Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at ...

  10. 简单的线性回归问题-TensorFlow+MATLAB·

    首先我们要试验的是 人体脂肪fat和年龄age以及体重weight之间的关系,我们的目标就是得到一个最优化的平面来表示三者之间的关系: TensorFlow的程序如下: import tensorfl ...