双端队列(deque,double-ended queue),是一种具有队列和栈的性质的数据结构。
双端队列中每一端,都可以进行存入和取出,去其中一段,都像一个栈一样。
存取也只限定在两端,不能在中间
-
双端队列的实现
通过线性表实现
class Dequeue(object): def __init__(self): '''初始化一个空队列''' self.__list = [] def add_front(self, item): '''从队列首添加''' self.__list.insert(0, item) def add_rear(self, item): '''从队列尾添加''' self.__list.append(item) def pop_front(self): '''从队列首删除''' return self.__list.pop(0) # 时间复杂度O(n) def pop_rear(self): '''从队列尾删除''' return self.__list.pop() def is_empty(self): '''是否空''' return not self.__list def size(self): '''元素数量''' return len(self.__list)
来源:CSDN
作者:BBJG_001
链接:https://blog.csdn.net/BBJG_001/article/details/104710055