C++ 中的 deque::front() 和 deque::back()

2024 年 8 月 29 日 | 4 分钟阅读

在本文中,我们将讨论 C++ 中的 deque::front()deque::back() 及其示例。

Deque,即 双端队列,是一种可在两端扩展和收缩的序列容器。它们与向量类似,但在两端插入和删除元素方面效率更高。与向量不同,双端队列可能无法保证连续内存分配。

什么是 deque::front()?

front() 指的是 deque 结构容器的初始元素。此函数用于获取双端队列的初始元素。它是 C++ 使用的标准模板库 (STL) 函数。此函数是 <deque> 头文件的一部分。

语法

它具有以下语法:

示例

异常和错误

  • 如果 deque 结构容器为空,则会产生未识别的响应。
  • 如果 deque 结构不为空,则确保不会抛出任何异常。

示例

让我们举一个例子来说明 C++ 中 deque::front() 函数的使用。

输出

8

复杂度

时间复杂度: O(1)

空间复杂度: O(1)

什么是 deque::back()?

back() 方法用于引用此双端队列容器的最后一个元素。此方法返回双端队列末尾的第一个元素。此方法用于获取双端队列的初始元素。它是 C++ 中使用的标准模板库 (STL) 函数。上述函数是 <deque> 头文件的一部分。它将最后一个元素作为引用返回。如果 deque 结构为空,则调用 back() 会返回未定义的结果。

语法

它具有以下语法:

示例

异常和错误

  • 如果双端队列容器为空,则会发生不确定的行为。
  • 如果 deque 结构不为空,则确保不会抛出任何异常。

示例

让我们举一个例子来说明 C++ 中 deque::back() 函数的使用。

输出

4

使用 deque::front() 和 deque::back() 方法的应用

给定一个空的整数双端队列,向双端队列中添加整数并指出第一个和最后一个成员之间的差异。

(解释:最后一个组件是 4,而初始元素是 1。差值是 3)

  1. 使用 push_back() 将整数添加到双端队列中
  2. 比较第一个和最后一个元素。
  3. 如果初始元素较大,则从中减去最后一个元素以进行打印。
  4. 否则,用最后一个元素移除第一个元素并输出结果。

示例

让我们举一个例子来说明 C++ 中 deque::front()deque::back() 函数的使用。

输出

7

将 Deque 用作双端队列

将 deque 用作双端队列有多种用途。将 deque 用作双端队列的一些主要用途如下:

1. 访问第一个和最后一个成员

std::deque 成员方法 front() 和 back() 用于检索双端队列的第一个和最后一个成员。这些函数通常在处理双端队列边界处的项目时使用。

2. 两端可靠的插入和删除

双端队列优于 std::vector 的优点是它能够在双端队列的开头和末尾有效地插入和删除元素。当我们想要跟踪一组对象并经常在前端或后端进行插入或删除时,它特别方便。

3. 将 Deque 用作双端队列

std::deque 可以实现为双端队列,从而可以在两端进行插入和删除。要访问前端和后端组件,请分别使用 front() 和 rear()。因此,双端队列适用于需要在序列两端进行删除和插入的算法。