Python设计双端队列
时间: 2023-11-05 22:16:21 浏览: 140
自定义双端队列
双端队列是一种常见的数据结构,它允许在队列两端进行插入和删除操作。下面是一个简单的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)
```
在这个实现中,我们使用一个列表来存储队列中的元素。add_front和add_rear方法分别在队列前端和后端添加元素,remove_front和remove_rear方法分别从队列前端和后端删除元素。is_empty方法用于检查队列是否为空,size方法用于返回队列中元素的数量。
下面是一个简单的使用双端队列的例子:
```python
d = Deque()
print(d.is_empty()) # True
d.add_rear(4)
d.add_rear('dog')
d.add_front('cat')
d.add_front(True)
print(d.size()) # 4
print(d.is_empty()) # False
d.add_rear(8.4)
print(d.remove_rear()) # 4
print(d.remove_front()) # True
print(d.size()) # 3
```
输出结果为:
```
True
4
False
8.4
cat
3
```
在这个例子中,我们首先创建了一个双端队列d,并使用add_rear和add_front方法向队列中添加元素。然后我们使用remove_rear和remove_front方法从队列中删除元素,并使用size方法返回队列中元素的数量。
阅读全文