编写自定义类,模拟双端队列
时间: 2024-01-17 13:03:25 浏览: 75
自定义双端队列
好的,以下是一个简单的双端队列类的Python实现:
```python
class Deque:
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def add_front(self, item):
self.items.append(item)
def add_rear(self, item):
self.items.insert(0, item)
def remove_front(self):
return self.items.pop()
def remove_rear(self):
return self.items.pop(0)
def size(self):
return len(self.items)
```
这个双端队列类包含了以下方法:
- `__init__()`: 初始化一个空的队列
- `is_empty()`: 判断队列是否为空
- `add_front(item)`: 在队列的前端添加一个元素
- `add_rear(item)`: 在队列的后端添加一个元素
- `remove_front()`: 从队列的前端移除一个元素,并返回该元素
- `remove_rear()`: 从队列的后端移除一个元素,并返回该元素
- `size()`: 返回队列中元素的数量
这些方法可以让我们像使用内置的Python列表一样使用双端队列。例如,我们可以使用以下代码创建一个双端队列对象,并在其中添加一些元素:
```python
d = Deque()
d.add_front('hello')
d.add_rear('world')
```
现在,队列中包含了两个元素,可以使用`remove_front()`和`remove_rear()`方法从队列中移除它们,如下所示:
```python
print(d.remove_front() + ' ' + d.remove_rear())
# Output: 'hello world'
```
希望这个双端队列类能够帮助你更好地理解队列的概念和实现。
阅读全文