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

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

简介:双端队列(deque)

1.概述

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

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

2.特点

顺序表的优缺点:

优点:支持下标随机访问

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

链表的优缺点:

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

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

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

优点:

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

缺点:

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

3.底层原理

简化抽象图:

迭代器图:

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


EOF

相关文章
|
1月前
|
存储 C++ 容器
C++番外篇——stack、queue的实现及deque的介绍
C++番外篇——stack、queue的实现及deque的介绍
25 0
|
6月前
|
编译器 C++ 容器
【STL】stack与queue的底层原理及其实现
【STL】stack与queue的底层原理及其实现
|
6月前
|
存储 C++ 容器
【C++初阶】STL详解(七)Stack与Queue的模拟实现
【C++初阶】STL详解(七)Stack与Queue的模拟实现
32 1
|
6月前
|
C++ 容器
【C++初阶】STL详解(六)Stack与Queue的介绍与使用
【C++初阶】STL详解(六)Stack与Queue的介绍与使用
65 1
|
6月前
Queue和deque用法
Queue和deque用法
30 0
|
11月前
|
设计模式 存储 C++
C++ STL中适配器以及deque(双端队列)的基本认识
C++ STL中适配器以及deque(双端队列)的基本认识
97 0
|
容器
STL-deque
STL-deque
41 0
|
存储 C++ 容器
『C++之STL』双端队列 - deque
『C++之STL』双端队列 - deque
|
算法 搜索推荐 C++
【C++ STL】 --- deque
【C++ STL】 --- deque
71 0
|
存储 C++ 容器
C++中deque的用法(超详细,入门必看)
⭐一、deque的简介 deque是一个双向队列(double-ended queue),可以在队列的两端进行元素的插入和删除操作。deque的全称是double-ended queue,翻译过来就是双端队列,也有人称之为双向队列,这两个名称都可以表示该数据结构。deque是C++STL(标准模板库)中的一种容器,可以用于存储各种类型的元素。deque的特点是可以在队列的两端进行元素的操作,并且可以高效地在队列的任意位置进行元素的插入和删除操作。 可以说deque几乎涵盖了queue(队列)、stack(堆栈)、vector(向量 )等的全部用法,功能非常的强大。
968 0