在C++ STL中的Deque::front()和deque::back()用法

在C++ STL中的Deque::front()和deque::back()用法

C++ STL中的deque(双端队列)是一种基于数组实现的高效数据结构,它是一个可动态扩容的序列容器,支持在两端进行插入和删除操作。本文将介绍deque的两个常用成员函数:front()和back()。

Deque::front()

deque的front()函数用于获取队首元素,也就是最前面的元素。它的用法如下所示:

“` C++
#include<deque>
using namespace std;
int main() {
deque<int> dq;
dq.push_back(2);
dq.push_front(1);
dq.push_back(3);
cout << dq.front() << endl;
return 0;
}

<pre><code class="line-numbers">上面的代码在deque中先后插入了1、2、3三个元素,然后获取了队首元素,最终输出结果为1。

需要注意的是,如果deque为空的话,使用front()访问会出现未定义行为。因此,在使用前需要先检查deque是否为空,比如:

“` C++
if (!dq.empty()) {
cout << dq.front() << endl;
}

Deque::back()

deque的back()函数用于获取队尾元素,也就是最后面的元素。它的用法与front()类似,如下所示:

“` C++
#include<deque>
using namespace std;
int main() {
deque<int> dq;
dq.push_back(2);
dq.push_front(1);
dq.push_back(3);
cout << dq.back() << endl;
return 0;
}

<pre><code class="line-numbers">上面的代码在deque中先后插入了1、2、3三个元素,然后获取了队尾元素,最终输出结果为3。

同样地,如果deque为空的话,使用back()访问也会出现未定义行为。因此,在使用前需要先检查deque是否为空,比如:

“` C++
if (!dq.empty()) {
cout << dq.back() << endl;
}

总结

本文介绍了deque的两个常用成员函数:front()和back()。它们分别用于获取队首和队尾元素,可以非常方便地访问deque中的数据。在使用这两个函数时,需要注意deque是否为空,避免出现未定义行为。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程