在python中双端队列
时间: 2023-11-22 12:52:12 浏览: 92
在 Python 中,可以使用标准库中的 `collections` 模块中的 `deque` 类来实现双端队列。`deque` 是一个双向队列,支持从队列的两端执行添加和删除元素的操作。
下面是一些 `deque` 常用的方法:
1. `append(item)`:在队列的尾部添加一个元素。
2. `appendleft(item)`:在队列的头部添加一个元素。
3. `pop()`:从队列的尾部删除一个元素,并返回该元素。
4. `popleft()`:从队列的头部删除一个元素,并返回该元素。
5. `clear()`:清空队列。
6. `count(item)`:统计队列中元素 item 的个数。
7. `rotate(n)`:将队列旋转 n 步。如果 n 为正数,则队列的最右边的 n 个元素会被移动到队列的最左边,如果 n 为负数,则队列的最左边的 n 个元素会被移动到队列的最右边。
下面是一个使用 `deque` 实现双端队列的示例代码:
```python
from collections import deque
queue = deque()
# 在队尾添加元素
queue.append(1)
queue.append(2)
queue.append(3)
# 在队头添加元素
queue.appendleft(0)
# 弹出元素
print(queue.pop()) # 输出 3
print(queue.popleft()) # 输出 0
# 清空队列
queue.clear()
# 统计元素个数
print(queue.count(1)) # 输出 0
# 旋转队列
queue.extend([4, 5, 6])
queue.rotate(2)
print(queue) # 输出 deque([5, 6, 4])
```
阅读全文