双向队列 collections.deque

通过列表实现队列时, 在删除头部元素pop(0)很耗时, 这牵扯了元素的移动(即以为删除法)。

collections.deque类(双向队列)是一个线程安全, 可以快速从连段删除添加元素的数据类型。

collections.deque([*iterable*[, *maxlen*]])

如果 maxlen 没有指定或者是 None ,deques 可以增长到任意长度。否则,deque就限定到指定最大长度。一旦限定长度的deque满了,当新项加入时,同样数量的项就从另一端弹出。

方法 作用 会不会引发异常
append(x) 添加 x 到右端。
appendleft(x) 添加 x 到左端
pop() 不加参数删除最右端 没有会引发异常
popleft() 不加参数删除最多断。 没有会引发异常
rotate(n=1) 向右循环移动 n 步。 如果 n 是负数,就向左循环。
extend(iterable) 从右侧扩展扩展,通过添加iterable参数中的元素
extendleft(iterable) 从左侧扩展扩展,通过添加iterable参数中的元素
clear() 清空队列
count(x) 计算 deque 中元素等于 x 的个数。

代码示例
[入门]——数据结构——双向队列

相关文章:

  • 2021-07-02
  • 2022-12-23
  • 2022-12-23
  • 2021-12-20
  • 2021-04-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-07-05
  • 2022-12-23
  • 2021-05-14
  • 2021-09-15
  • 2021-12-28
  • 2021-08-03
  • 2021-05-24
相关资源
相似解决方案