C++标准库中的deque是一个双端队列(double–ended queue),它支持在队列的前端和后端进行插入和删除操作。deque在内部使用了动态数组来实现,因此具有高效的随机访问性能。
deque基本操作
deque
是C++标准库中的双端队列(double–ended queue),它支持在队列的前端和后端进行插入和删除操作。以下是一些基本的deque操作函数:
push_front()
: 在队列前端插入一个元素。push_back()
: 在队列后端插入一个元素。pop_front()
: 删除队列前端的一个元素。pop_back()
: 删除队列后端的一个元素。front()
: 返回队列前端元素。back()
: 返回队列后端元素。empty()
: 检查deque是否为空。size()
: 返回deque中元素的数量。clear()
: 删除deque中的所有元素。insert(iterator position, const value_type& val)
: 在迭代器position
指定的位置之前插入值val
。erase(iterator position)
: 删除位于position
的元素。erase(iterator first, iterator last)
: 删除位于范围[first, last)
内的元素。swap(deque<T>& x)
: 与另一个deque交换内容。rbegin()
: 返回指向deque后端的随机访问迭代器。rend()
: 返回指向deque前端反向的随机访问迭代器。begin()
: 返回指向deque前端的随机访问迭代器。end()
: 返回指向deque后端反向的随机访问迭代器。
deque特性
请注意,不同的库可能以不同的方式实现deques,但在任何情况下,它们都允许通过随机访问迭代器直接访问各个元素,并通过根据需要扩展和收缩容器来自动处理存储。
应用举例
#include <iostream>
#include <deque>
int main() {
std::deque<int> d;
// 在队列后端插入元素
d.push_back(1);
d.push_back(2);
d.push_back(3);
// 在队列前端插入元素
d.push_front(0);
d.push_front(4);
// 删除队列前端元素
d.pop_front();
// 删除队列后端元素
d.pop_back();
// 遍历队列中的元素并输出
for (int i : d) {
std::cout << i << " ";
}
return 0;
}
原文地址:https://blog.csdn.net/scy518/article/details/134544811
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_9138.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。