双端队列(deque)
push_front(value)
将元素value插入到双端队列的头部
返回值:无
复杂度:平摊常数时间复杂度O(1)
push_back(value)
将元素value插入到双端队列的尾部
返回值:无
复杂度:平摊常数时间复杂度O(1)
pop_front()
移除双端队列头部的元素
返回值:无
复杂度:常数时间复杂度O(1)
pop_back()
移除双端队列尾部的元素
返回值:无
复杂度:常数时间复杂度O(1)
front()
返回双端队列头部的元素的引用
返回值:返回双端队列头部元素的引用
复杂度:常数时间复杂度O(1)
back()
返回双端队列尾部的元素的引用
返回值:返回双端队列尾部元素的引用
复杂度:常数时间复杂度O(1)
empty()
检查双端队列是否为空
返回值:如果双端队列为空则返回true,否则返回false
复杂度:常数时间复杂度O(1)
size()
返回双端队列中元素的数量
返回值:返回双端队列中元素的数量
复杂度:常数时间复杂度O(1)
clear()
移除双端队列中的所有元素
返回值:无
复杂度:线性时间复杂度O(n),其中n是双端队列中的元素数量
需要注意的是,std::deque的随机访问复杂度也是常数时间复杂度O(1)。
这意味着可以通过索引快速访问双端队列中的元素。