std:deque

root 站长 2024-01-08 20:30:44 2024-01-09 17:48:58 1

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 的一些常见操作,可以根据实际需求选择适合的操作来使用双端队列。

{{ vote && vote.total.up }}

共 1 条回复

root 站长

copy 自 chat-gpt