C++标准库中的deque一个双端队列doubleended queue),它支持队列前端和后端进行插入删除操作deque内部使用动态数组实现,因此具有高效的随机访问性能

deque基本操作

deque是C++标准库中的双端队列(doubleended queue),它支持队列前端和后端进行插入删除操作。以下是一些基本deque操作函数

  1. push_front(): 在队列前端插入一个元素
  2. push_back(): 在队列后端插入一个元素
  3. pop_front(): 删除队列前端一个元素
  4. pop_back(): 删除队列后端的一个元素
  5. front(): 返回队列前端元素
  6. back(): 返回队列后端元素
  7. empty(): 检查deque是否为空。
  8. size(): 返回deque元素的数量。
  9. clear(): 删除deque中的所有元素。
  10. insert(iterator position, const value_type& val): 在迭代position指定位置之前插入值val
  11. erase(iterator position): 删除位于position的元素。
  12. erase(iterator first, iterator last): 删除位于范围[first, last)内的元素。
  13. swap(deque<T&gt;&amp; x): 与另一个deque交换内容
  14. rbegin(): 返回指向deque后端的随机访问迭代器。
  15. rend(): 返回指向deque前端反向随机访问迭代器。
  16. begin(): 返回指向deque前端的随机访问迭代器。
  17. end(): 返回指向deque后端反向随机访问迭代器。

deque特性

  1. 具有动态大小:deque是一个动态数组可以根据需要自动扩展或收缩容器
  2. 两端可扩展:deque可以在前端或后端(或同时两端)进行插入和删除操作。
  3. 随机访问迭代器:deque允许通过随机访问迭代器直接访问各个元素。

请注意,不同的库可能以不同的方式实现deques,但在任何情况下,它们都允许通过随机访问迭代器直接访问各个元素,并通过根据需要扩展和收缩容器自动处理存储

应用举例

#include <iostream&gt;
#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进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注