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

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

简介:双端队列(deque)

1.概述

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

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

2.特点

顺序表的优缺点:

优点:支持下标随机访问

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

链表的优缺点:

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

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

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

优点:

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

缺点:

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

3.底层原理

简化抽象图:

迭代器图:

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


EOF

相关文章
|
存储 Cloud Native Linux
C++ deque底层原理
C++ deque底层原理
|
3月前
|
存储 C++ 容器
C++番外篇——stack、queue的实现及deque的介绍
C++番外篇——stack、queue的实现及deque的介绍
36 0
|
6月前
|
算法 前端开发 C++
C++基础知识(八:STL标准库 deque )
deque在C++的STL(Standard Template Library)中是一个非常强大的容器,它的全称是“Double-Ended Queue”,即双端队列。deque结合了数组和链表的优点,提供了在两端进行高效插入和删除操作的能力,同时保持了随机访问的特性。
|
7月前
|
存储 算法 大数据
STL标准库之《deque原理与实战分析》
STL标准库之《deque原理与实战分析》
60 0
|
8月前
|
编译器 C++ 容器
【STL】stack与queue的底层原理及其实现
【STL】stack与queue的底层原理及其实现
|
8月前
|
C++ 容器
【C++初阶】STL详解(六)Stack与Queue的介绍与使用
【C++初阶】STL详解(六)Stack与Queue的介绍与使用
82 1
|
8月前
|
存储 前端开发 C++
【C++入门到精通】C++入门 —— deque(STL)
在C++中,deque(双端队列)是一种容器。deque是缩写形式,表示"double-ended queue",即双向队列。deque是C++标准库提供的一种方便、**高效的双向队列容器,提供了在两端进行插入和删除操作的能力,同时支持随机访问**
95 2
|
设计模式 存储 C++
C++ STL中适配器以及deque(双端队列)的基本认识
C++ STL中适配器以及deque(双端队列)的基本认识
109 0
|
容器
STL-deque
STL-deque
47 0
|
存储 C++ 容器
『C++之STL』双端队列 - deque
『C++之STL』双端队列 - deque