顺序容器(一)

本文介绍了C++标准库中的主要容器类型,如vector、deque、list、forward_list、array和string,强调了它们的特点和适用场景。例如,vector适合快速尾部操作,deque支持双端插入删除,list适合任意位置插入删除。此外,文章还概述了容器的构造函数、大小查询、元素添加与删除以及迭代器的使用方法,为选择和操作C++容器提供了指导。

**以下内容参考 C++ primer **

1.各个容器的概况
容器名称容器类型可适用操作
vector可变大小数组支持快速操作,在尾部进行插入或删除
deque双端队列支持随机访问,头尾插入删除很快
list双向链表顺序访问,任何位置可进行插入删除
forward_list单项链表顺序访问,任何位置进行插入删除
array固定数组随机访问,不可插入删除
string保存字符顺序访问,尾部插入删除
2.如何选容器
  1. 除非你的程序小,list,forward_list容器空间开销大
  2. 一般选择vector
  3. 在中间插入删除元素,list ,forward_list
  4. 头尾插入或删除元素,但不会在中间位置进行插入删除,使用deque
  5. 如果输入需要在容器中间插入元素(输入阶段list),随后需要随机访问(拷贝list,到vector中)。
3.容器的操作概况
类型说明
iterator容器的迭代器类型
const_iterator可以读取元素,不能修改元素迭代器的类型
size_type容器保存最大的大小(无符号整数类型)
difference_type带符号整数类型,足够保存两个迭代器之间的距离
value_type元素类型
reference元素的左值类型,与value_type&含义相同
const_reference元素的const左值类型(const value_type&)
构造函数说明
C c默认构造函数,构造空容器
C c1(c2)构造函数
C c(b,e)构造c,将迭代器b和e指定的范围内的元素拷贝到c
C c{a,b,c…}列表初始化c
大小说明
c.size( )c中c1元素替换为c2中元素
c.max_size( )c中可保存的最大元素数目
c.empty( )若c中存储了元素,返回false,否则返回true
添加删除说明
c.insert( args )将args中的元素拷贝进c
c.emplace (inits)使用inits构造c中的一个元素
c.erase(args)删除args指定的元素
c.clear( )删除c中的所有元素,返回void
获取迭代器说明
c.begin( ), c.end( )返回指向c的首元素和尾元素之后的位置的迭代器
c.cbegin( ), c.end( )返回const_iterator
reverse_iterator按照逆序寻址元素的迭代器
const_reverse_iterator不能修改元素的逆序迭代器
c.rbeging( ),crend()返回指向c的尾元素和首元素之前的迭代器
c.crbegin( ),c.crend( )返回const_reverse_iterator
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值