队列
- 队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表
- 队列是一种先进先出的线性表,允许插入的一端为队尾,允许删除的一端为队头
- 队列不允许在中间部位进行操作!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
class (object): def __init__(self): self.__list = []
def enqueue(self, item): """往队列中添加一个元素item""" self.__list.append(item)
def dequeue(self): """从头部删除一个元素""" return self.__list.pop(0)
def is_empty(self): """判断队列是否为空""" return self.__list == []
def size(self): """返回队列大小""" return len(self.__list)
if __name__ == '__main__': s = Queue() s.enqueue(1) s.enqueue(3)
print(s.dequeue()) print(s.dequeue())
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
class Deque(object): """双端队列"""
def __init__(self): self.__list = []
def add_front(self, item): """往队列中添加一个元素item""" self.__list.insert(0, item)
def add_rear(self, item): self.__list.append(item)
def pop_front(self): """从头部删除一个元素""" return self.__list.pop(0)
def pop_rear(self): return self.__list.pop()
def is_empty(self): """判断队列是否为空""" return self.__list == []
def size(self): """返回队列大小""" return len(self.__list)
if __name__ == '__main__': s = Deque() s.enqueue(1) s.enqueue(3)
print(s.dequeue()) print(s.dequeue())
|
转载请注明来源,欢迎指出任何有错误或不够清晰的表达。可以邮件至[email protected]
近期评论