C++:deque(队列) 的使用

std::deque


容器属性

序列 | 动态数组 | Allocator-aware

序列容器的元素按严格线性排列,可按顺序访问它们的位置;

动态数组允许直接访问其任何元素,可快速在序列首尾相对快速进行元素添加 / 删除;

容器通过 allocator 对象动态处理存储需求


迭代器相关函数

(public member function )

begin 

将迭代器返回到开头(增长方向:begin -> end)

end

将迭代器返回到结尾

rbegin

返回反向迭代器以反向开始(增长方向:rbegin -> rend)

扫描二维码关注公众号,回复: 6065163 查看本文章

rend

将反向迭代器返回到反向结束

cbegin (C++11)

将const_iterator返回到开头(与begin类似,区别在于begin指向的值可以改变,cbegin指向的值不可改变)

cend (C++11)

将const_iterator返回到开头末尾

crbegin (C++11)

返回const_reverse_iterator以反向开始

crend (C++11)

将const_reverse_iterator返回到反向结束


容量相关函数:

(public member function )

size

返回目前元素的数量

max_size

返回可以拓展的最大容量

resize

改变目前容器的大小

empty

判断容器是否为空

shrink_to_fit (C++11)

缩小容量到较适合的程度,影响capacity,不影响size


元素访问操作:

(public member function )

operator[]

直接访问指定位置的元素

at

直接访问指定位置的元素,指定位置超出有效范围会报出异常

front

访问首元素

back

访问尾元素


修改元素操作:

(public member function )

assign

分配容器的内容

push_back

在尾部添加一个元素

push_front

在首部添加一个元素

pop_back

在尾部删除一个元素

pop_front

在首部删除一个元素

insert

迭代器位置插入元素,或者插入连续的序列

erase

擦除迭代器位置的元素,或者擦除连续的序列

swap

交换两个容器的内容

clear

清空容器的内容

emplace (C++11)

在迭代器位置插入元素(emplace使用直接构造函数,insert使用复制构造函数)

emplace_front (C++11)

在首部添加一个元素

emplace_back (C++11)

在尾部添加一个元素

猜你喜欢

转载自blog.csdn.net/m0_37346206/article/details/89499169