std::deque(双端队列)是 C++ 标准库中的容器之一,它支持在队列的前后两端进行高效的插入和删除操作。下面是 std::deque 支持的一些常用操作:
1.构造函数
deque<T>:默认构造函数,创建一个空的双端队列。deque<T>(size_type count, const T& value):使用指定数量的元素初始化双端队列,并设置每个元素的初始值为value。deque<T>(InputIterator first, InputIterator last):使用迭代器范围[first, last)初始化双端队列。
2.大小和容量
size():返回双端队列中的元素数量。empty():检查双端队列是否为空。max_size():返回双端队列可以容纳的最大元素数量。resize(size_type count):调整双端队列的大小,使其包含count个元素。shrink_to_fit():要求双端队列将其容量调整为适应当前大小。
3.元素访问
operator[]:访问指定索引处的元素。at(size_type pos):访问指定索引处的元素,带有边界检查。front():返回队列的第一个元素的引用。back():返回队列的最后一个元素的引用。
4. 插入和删除
push_front(const T& value):将元素插入到队列的前端。push_back(const T& value):将元素插入到队列的后端。pop_front():移除队列的第一个元素。pop_back():移除队列的最后一个元素。emplace_front(Args&&... args):在队列的前端构造一个新元素。emplace_back(Args&&... args):在队列的后端构造一个新元素。insert(iterator pos, const T& value):在指定位置插入一个元素。erase(iterator pos):移除指定位置的元素。
5. 迭代器
begin():返回指向队列第一个元素的迭代器。end():返回指向队列末尾的迭代器。rbegin():返回指向队列最后一个元素的逆向迭代器。rend():返回指向队列起始位置之前的逆向迭代器。
6.其他操作
clear():移除双端队列中的所有元素。swap(deque<T>& other):交换两个双端队列的内容。
这些是 std::deque 的一些常见操作,可以根据实际需求选择适合的操作来使用双端队列。
共 1 条回复
copy 自 chat-gpt