第九篇:顺序容器及其常用函数
前言
容器是指容纳特定类型对象的集合。顺序容器则是指该容器根据位置访问保存在其中的对象。Vector,List,Deque是三种常见的容器,本文将归纳这三种容器常用的函数,以备日后查阅。
描述符说明
在以下函数解释中,C 表示容器类型名,T表示容器的元素类型,c 表示待创建的/待处理的容器对象,其它描述符则在文中具体位置说明。
一 容器定义函数
1. C<T> c
创建一个空的容器 c
2. C c( c2 )
用 容器c2 创建 容器c
3. C c( b, e )
用 迭代器 b 和 e 之间的元素创建容器 c。
下函数4,5仅用于顺序容器。
4. C c( n, t )
创建容器 c 并将 c 初始化为一个具有 n 个元素 t 的容器。
5. C c( n )
创建容器 c 并将 c 初始化为一个具有 n 个 值初始化元素的容器。
说明:创建容器对象必须要满足两个条件:
1. 元素类型必须支持赋值运算
2. 元素类型的对象必须可以复制
二 获取迭代器函数
1. c.begin()
返回一个指向容器 c 第一个元素的迭代器
2. c.end()
返回一个指向容器 c 最后一个元素的下一个元素的迭代器
三 容器大小函数
1. c.size()
返回容器 c 中元素的个数
2. c.empty()
返回容器 c 中元素是否为 0 的布尔值
3. c.resize( n )
调整容器 c 的长度大小,使其能容纳 n 个元素。若 n < c.size() 则删除多余元素,否则对新元素进行值初始化。
4. c.resize( n, t )
调整容器 c 的长度大小,使其能容纳 n 个元素。若 n < c.size() 则删除多余元素,否则将新元素初始化为元素 t。
四 增加元素函数
1. c.push_back( t )
在容器 c 之后插入元素 t
2. c.push_front( t )
在容器 c 最前端插入元素 t
PS:该函数仅适用于 list 和 deque 容器类型
3. c.insert( p, t )
在迭代器 p 之前插入元素 t ,返回指向新插入元素的迭代器。
4. c.insert( p, n, t )
在迭代器 p 之前插入 n 个元素 t
5. c.insert( p, b, e )
在迭代器 p 之前插入迭代器 p 和 e 之间的元素
五 删除元素函数
1. c.erase( p )
删除迭代器 p 所指向的元素,返回指向被删除元素的后一个元素的迭代器。
2. c.erase( b, e )
删除迭代器 b 和 e 之间的所有元素,返回指向被删除元素段的后一个元素的迭代器。
3. c.clear()
删除容器 c 的所有元素
4. c. pop_back()
删除容器 c 的最后一个元素
5. c.pop_front()
删除容器 c 的第一个元素
PS:仅用于 list 和 deque 函数
六 赋值函数
1. c1 = c2
删除容器 c1 中的所有元素,再将容器 c2 的值拷贝进去。
2. c1.swap( c2 )
将容器 c1 和 c2 的内容交换
3. c.assign( b, e )
重置容器 c,将迭代器 b 和 e 之间的元素复制进去。
4. c.assign( n, t )
重置容器 c,将 c 的元素置为 n 个元素 t。