21xrx.com
2024-09-19 09:36:11 Thursday
登录
文章检索 我的文章 写文章
C++ 中如何使用双向队列(deque)
2023-07-09 09:03:28 深夜i     --     --
C++ 双向队列(deque) 使用

双向队列,即deque,是 STL 中的一种数据结构,它在序列容器中是比较常用的一种。deque 可以在头尾两端进行插入和删除操作,具有较高的灵活性和效率。下面将介绍如何在 C++ 中使用双向队列。

1. 定义双向队列

在 C++ 中,定义 deque 类型需要包含头文件 ,可以使用以下语句进行定义:


#include <iostream>

#include <deque>

using namespace std;

deque<int> dq;  // 定义一个 deque,元素类型为 int

2. 插入元素

当需要在 deque 中插入元素时,可使用以下方法:

在 deque 头部插入元素使用函数 push_front(),如:


dq.push_front(5); // 在 deque 头部插入元素 5

在 deque 尾部插入元素使用函数 push_back(),如:


dq.push_back(2);  // 在 deque 尾部插入元素 2

还可在 deque 中指定位置插入元素使用函数 insert(),如:


dq.insert(dq.begin(), 10); // 在 deque 开头插入元素 10

3. 删除元素

当需要删除 deque 中的元素时,可使用以下方法:

从 deque 头部删除元素使用函数 pop_front(),如:


dq.pop_front(); // 从 deque 头部删除元素

从 deque 尾部删除元素使用函数 pop_back(),如:


dq.pop_back();  // 从 deque 尾部删除元素

还可使用 erase() 方法删除 deque 中指定位置的元素,如:


dq.erase(dq.begin()); // 删除 deque 开头的元素

4. 访问 deque 元素

可以使用下标访问 deque 中指定位置的元素,如:


int a = dq[0];  // 获取 deque 中第一个元素的值

也可以使用 at() 方法进行访问,如:


int b = dq.at(1);  // 获取 deque 中第二个元素的值

另外,还可使用 deque 迭代器对 deque 中的元素进行访问,如:


deque<int>::iterator it = dq.begin();

for (; it != dq.end(); ++it) {

  cout << *it << " ";  // 输出 deque 中所有元素

}

通过上述方法,就能够很方便地进行 deque 中元素的插入、删除和访问了。需要注意的是,使用 deque 时需要引入头文件 ,并且在程序中使用了命名空间标识符 using namespace std 。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复