自定义双端队列类python
时间: 2024-11-01 11:07:44 浏览: 7
在Python中,可以自定义一个双端队列(deque)类,它是内置的collections模块中的一个数据结构,允许你在两端高效地添加或删除元素。deque(double-ended queue)的特点是可以同时从两端进行操作,类似于栈(push/pop)和队列(append/appendleft/pop_left)。下面是一个简单的自定义双端队列类的示例:
```python
from collections import deque
class CustomDeque(deque):
def __init__(self, iterable=()):
super().__init__(iterable) # 初始化时传入可迭代对象
# 自定义方法,例如在队尾添加元素
def append_at_back(self, item):
self.append(item)
# 自定义方法,例如在队头添加元素
def append_at_front(self, item):
self.appendleft(item)
# 自定义方法,查看队首元素
def peek_front(self):
if not self: # 防止空队列错误
return None
return self[0]
# 自定义方法,查看队尾元素
def peek_back(self):
if not self:
return None
return self[-1]
# 其他可自定义的方法,如删除、获取长度等...
# 使用示例
my_deque = CustomDeque([1, 2, 3])
my_deque.append_at_front(0)
print(my_deque.peek_front()) # 输出 0
my_deque.append_at_back(4)
print(my_deque.peek_back()) # 输出 4
阅读全文