【CPP】双端队列简介(deque)

简介: 【CPP】双端队列简介(deque)

简介:双端队列(deque)

1.概述

双端队列:是一种顺序表和顺序表的结合数据结构,不是队列。

它提供顺序表的[]下标访问和链表的中间头部的较高效率插入删除操作。

2.特点

顺序表的优缺点:

优点:支持下标随机访问

缺点:头部或者中间插入删除效率低 + 扩容有消耗

链表的优缺点:

优点:任意位置插入删除效率都不错

缺点:不支持下表随机访问

双端队列优缺点:顺序表链表都沾点边,但都不够极致。

优点:

  • 既有着顺序表支持下表随机访问的功能,又有链表任意位置插入删除效率都还可以。
  • 而且头插尾插效率很好。

缺点:

  • 双端队列支持的下标随机访问性能上不如顺序表,双端队列的任意位置插入删除效率不如链表

3.底层原理

简化抽象图:

迭代器图:

因为deque优点是头尾插入删除效率很好,刚好与栈和队列相一致,因而常被用做栈和队列的默认容器。


EOF

相关文章
|
16天前
|
存储 C++ 容器
C++番外篇——stack、queue的实现及deque的介绍
C++番外篇——stack、queue的实现及deque的介绍
22 0
|
5月前
|
容器
STL_queue
STL_queue
44 1
|
5月前
Queue和deque用法
Queue和deque用法
27 0
|
5月前
|
编译器 C++ 容器
STL常用之vector,list,stack,queue,deque总结与对比
STL常用之vector,list,stack,queue,deque总结与对比
|
10月前
|
设计模式 存储 C++
C++ STL中适配器以及deque(双端队列)的基本认识
C++ STL中适配器以及deque(双端队列)的基本认识
91 0
|
11月前
|
容器
STL-deque
STL-deque
38 0
|
存储 C++ 容器
『C++之STL』双端队列 - deque
『C++之STL』双端队列 - deque
|
算法 搜索推荐 C++
【C++ STL】 --- deque
【C++ STL】 --- deque
69 0
|
存储 C++ 容器
C++中deque的用法(超详细,入门必看)
⭐一、deque的简介 deque是一个双向队列(double-ended queue),可以在队列的两端进行元素的插入和删除操作。deque的全称是double-ended queue,翻译过来就是双端队列,也有人称之为双向队列,这两个名称都可以表示该数据结构。deque是C++STL(标准模板库)中的一种容器,可以用于存储各种类型的元素。deque的特点是可以在队列的两端进行元素的操作,并且可以高效地在队列的任意位置进行元素的插入和删除操作。 可以说deque几乎涵盖了queue(队列)、stack(堆栈)、vector(向量 )等的全部用法,功能非常的强大。
889 0
|
存储 算法 编译器
初阶C++ 第五节—STL之Stack和Queue(deque+priority_queue)+适配器 + 仿函数 + 模板进阶
头部插入和删除时,不需要搬移元素,效率特别高,而且在扩容时,也不需要搬移大量的元素,因此其效率是必vector高的。
180 0
初阶C++ 第五节—STL之Stack和Queue(deque+priority_queue)+适配器 + 仿函数 + 模板进阶