STL中的deque
时间: 2024-06-14 12:04:05 浏览: 95
deque是STL(标准模板库)中的一种容器,它是双端队列(double-ended queue)的缩写。deque可以在头部和尾部进行插入和删除操作,因此可以高效地在两端进行操作。
与vector相比,deque在头部的插入和删除操作效率更高,而在访问元素时,vector的速度会比deque快。这是因为deque内部实现了一个由多个连续的存储块组成的缓冲区,而vector则是一个连续的存储空间。因此,当需要在头部频繁进行插入和删除操作时,使用deque会更高效。
下面是一个使用deque的示例代码:
```cpp
#include <iostream>
#include <deque>
int main() {
std::deque<int> myDeque;
// 在尾部插入元素
myDeque.push_back(1);
myDeque.push_back(2);
myDeque.push_back(3);
// 在头部插入元素
myDeque.push_front(0);
// 访问元素
std::cout << "First element: " << myDeque.front() << std::endl;
std::cout << "Last element: " << myDeque.back() << std::endl;
// 删除尾部元素
myDeque.pop_back();
// 删除头部元素
myDeque.pop_front();
// 遍历元素
std::cout << "Elements in deque: ";
for (auto it = myDeque.begin(); it != myDeque.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
First element: 0
Last element: 2
Elements in deque: 1 2
```
阅读全文