当前位置: 首页 > ai >正文

C++(25): 标准库 <deque>

目录

1、 核心概念

2. 基本语法

3. 特点

4. 特有成员函数

5. 内存与性能

6. 示例代码

7. 成员函数列表

8. 使用场景

9. 注意事项


1、 核心概念

        双端队列(Double-Ended Queue,deque) 是一种允许在队列头部和尾部高效插入和删除元素的线性数据结构,同时支持随机访问。

  • 与 vector 的区别:vector 仅在尾部高效插入/删除deque 在两端均高效(O(1)复杂度)。

  • 与 list 的区别:list 是双向链表,中间插入/删除高效(O(1)),但随机访问效率低(O(n));deque 随机访问效率更高(O(1)),但中间插入/删除效率较低(O(n))。

  • 内存结构:由多个固定大小的连续内存块(chunks)组成,通过指针数组(或类似结构)管理,允许动态扩展。


2. 基本语法

        在 C++ 中,使用 <deque> 需要包含头文件 #include <deque>

#include <deque>// 声明与初始化
std::deque<int> dq1;                  // 空 deque
std::deque<int> dq2(5, 10);           // 5 个元素,每个值为 10
std::deque<int> dq3 = {1, 2, 3, 4};   // 列表初始化
std::deque<int> dq4(dq3.begin(), dq3.end()); // 迭代器范围初始化

3. 特点

  • 双端操作高效push_front()pop_front()

http://www.xdnf.cn/news/7373.html

相关文章:

  • 迅联文库开发日志(三)登陆注册
  • esp32课设记录(四)摩斯密码的实现 并用mqtt上传
  • Springboot 跨域拦截器配置说明
  • JavaScript 学习
  • DW_DMAC简介
  • 嵌入式学习笔记 D22:栈与队列
  • 编排优先——Go 语言开发 AI 智能体的设计与实现
  • 专为MoE设计的“超级工厂”,来了
  • 跨境业务服务器架构设计与CN2线路深度调优
  • Spring Boot 接口定义指南:构建高效的RESTful API
  • 【第二届帕鲁杯】第二届帕鲁杯畸行的爱完整wp
  • RSP-BSP-1
  • 生成式人工智能认证(GAI认证)在企业中的认可度怎样?
  • 基于 STM32 的自动温度巡检小车控制系统设计与实现
  • 第五天的尝试
  • 经典算法复习——快速模幂
  • 51单片机点亮一个LED介绍
  • C++ 函数对象、仿函数与 Lambda 表达式详解
  • 12.vue整合springboot首页显示数据库表-实现按钮:【添加修改删除查询】
  • 深入Java G1 GC调优:如何解决高延迟与吞吐量瓶颈
  • 嵌入式学习笔记 - STM32独立看门狗IWDG与窗口看门狗WWDG的区别
  • HTTPS实验室——TLS/TLCP一站式解决方案
  • C语言——深入理解指针(一)
  • rosbag使用记录
  • 搭建一个永久免费的博客
  • Java设计模式之组合模式:从入门到精通(保姆级教程)
  • Java 泛型详解
  • 黄仁勋Computex演讲:将于三季度推出下一代GB300系统,个人AI计算机DGX Spark已全面投产
  • 进程和线程有什么区别?多线程有什么优缺点?线程的创建方式有哪些?如何简单的使用线程?用户线程和守护线程有什么区别?start 和 run 方法有什么区别?
  • go 与面向对象编程(OOP)