STL容器

标签:c++


容器的成员函数

所有容器都有的

int size()bool empty()

顺序容器和关联容器

begin()end()rbegin()rend()erase()clear()

顺序容器(vector/string/list/deque)

front()back()push_back()pop_back()insert()

容器

vector

构造函数

vector() 无参构造函数

vector(int n) 初始化有n个元素

vector(int n, const T &val) 初始化为n个val

vector(iterator first, iterator last) 初始化为区间\([first, last)\)的内容

操作

clear()/empty()/pop_back()/push_back()/size()

front()/back()

insert()

  1. insert(iterator i, const T &val)
  2. insert(iterator i, iterator first, iterator last)

erase()

  1. erase(iterator i)
  2. erase(iterator first, iterator last)

set/multiset

iterator find(const T &val)

iterator insert(const T &val)

iterator insert(iterator first, iterator last)

int count(const T &val)

iterator lower_bound(const T &val) 查找最大的位置it,使得\([begin(), it)\)中的元素都比val小

iterator upper_bound(const T &val) 查找最小的位置it,使得\([it, end())\)中的元素都比val大

erase()

  1. erase(iterator i)
  2. erase(iterator first, iterator last)
  3. int erase(const T &val) 返回删除的个数(multiset

map/multimap

multimap可以用作学生成绩排序

string

构造函数

string s1()

string s2("Hello") Hello

string s3(4, 'K') KKKK

string s4("12345", 1, 3) 234,子串(n, m)表示从n开始数m个

赋值

可以用char *类型的常量、变量,char类型的常量、变量, stringstring赋值

求子串

string substr(int n = 0, int m = string :: npos)const

当m默认或者超过字符串的长度,则求从n开始到结尾的子串

查找子串和字符

查不到时返回string :: npos

  1. find()从前往后查找字符或者子串出现的位置
  2. rfind()从后往前查找字符或者子串出现的位置
  3. find_first_of()
  4. find_last_of()
  5. find_first_not_of()
  6. find_last_not_of()

替换子串

replace()

删除子串

erase()

插入

insert()

【C++】STL容器的更多相关文章

  1. STL容器

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

  2. c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例

    c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器.set/multiset会根据待定的排序准则,自动将元素排序.两者不同在于前者不允许元素重复,而后者允许. 1 ...

  3. STL容器删除元素的陷阱

    今天看Scott Meyers大师的stl的用法,看到了我前段时间犯的一个错误,发现我写的代码和他提到错误代码几乎一模一样,有关stl容器删除元素的问题,错误的代码如下:std::vector< ...

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

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

  5. GDB打印STL容器内容

    GDB调试不能打印stl容器内容,下载此文件,将之保存为~/.gdbinit就可以使用打印命令了. 打印list用plist命令,打印vector用pvector,依此类推. (gdb) pvecto ...

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

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

  7. STL容器的适用情况

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

  8. STL容器的遍历删除

    STL容器的遍历删除 今天在对截包程序的HashTable中加入计时机制时,碰到这个问题.对hash_map中的每个项加入时间后,用查询函数遍历hash_map,以删除掉那些在表存留时间比某个阈值长的 ...

  9. STL容器与配接器

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

  10. STL容器的本质

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

随机推荐

  1. UVA10079 Pizza Cutting 题解

    Content 求用 \(n\) 条直线最多能将平面分成多少块区域. 多组输入,以一个负数结束. 数据范围:\(0\leqslant n\leqslant 2.1\times 10^8\). Solu ...

  2. SP16033 TIPTOP - Tip Top Game 题解

    Description Alim 和 Sufian 是好朋友.他们最近找到了一个好玩的游戏,叫做 Tip Top.游戏规则如下: 确定一个整数. 找出这个整数的所有因子. Alim 先手,每人轮流取一 ...

  3. Java的垃圾回收机制:强制回收System.gc() Runtime.getTime().gc()

    垃圾回收 当引用类型的实体,如对象.数组等不再被任何变量引用的时候.这块占用的内存就成为了垃圾.JVM会根据自己的策略决定是回收内存 注意: 垃圾回收只回收内存中的对象,无法回收物理资源(数据库连接, ...

  4. ACwing1015. 摘花生

    题目: Hello Kitty想摘点花生送给她喜欢的米老鼠. 她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来. 地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过 ...

  5. git提交忽略文件.gitignore内容

    ###################################################################### # Build Tools .gradle /build/ ...

  6. hdu-1299 Diophantus of Alexandria(分解素因子)

    思路: 因为x,y必须要大与n,那么将y设为(n+k);那么根据等式可求的x=(n2)/k+n;因为y为整数所以k要整除n*n; 那么符合上面等式的x,y的个数就变为求能被n*n整除的数k的个数,且k ...

  7. A Simple Framework for Contrastive Learning of Visual Representations

    目录 概 主要内容 流程 projection head g constractive loss augmentation other 代码 Chen T., Kornblith S., Norouz ...

  8. 记录一次乱码问题修复经历!排查修复Poi-tl使用HttpServletResponse导出Word乱码问题

    问题 Poi-tl中HttpServletResponse导出Word乱码问题: 文件名使用中文,中文名乱码 导出的文件下载后乱码 原因 文件名中文乱码: 没有设置文件名的编码规则 文件下载乱码: 在 ...

  9. HTML网页设计基础笔记 • 【第5章 常用的样式属性】

    全部章节   >>>> 本章目录 5.1 字体及文本属性 5.1.1 字体属性 5.1.2 文本属性 5.2 边距和填充 5.2.1 边距 5.2.2 填充 5.3 边框属性 ...

  10. docker启动emqx官方镜像,顺便启动exporter

    注意,我是把把官方镜像放到了自己的仓库 1.emqx官方镜像启动 docker run -d --name emqx31 -p 1883:1883 -p 8083:8083 -p 8883:8883 ...