队列的实现
同栈一样,队列也可以用顺序表或者链表实现。
操作
- Queue() 创建一个空的队列
- enqueue(item) 往队列中添加一个item元素
- dequeue() 从队列头部删除一个元素
- is_empty() 判断一个队列是否为空
- size() 返回队列的大小
class Queue(object):
'''队列,先进先出'''
def __init__(self):
self.__list = []
def enqueue(self, item):
'''从一端添加元素'''
self.__list.append(item)
def dequeue(self):
'''从另一端添加元素'''
return self.__list.pop(0)
def is_empty(self):
'''判断是否为空'''
return self.__list == []
def length(self):
'''获取队列的长度'''
return len(self.__list)
if __name__ == '__main__':
q = Queue()
q.enqueue(1)
q.enqueue(2)
q.enqueue(3)
q.enqueue(4)
print(q.dequeue())
print(q.dequeue())
print(q.dequeue())
print(q.length())
print(q.is_empty())
运行结果:
/home/longhui/Desktop/数据结构与算法/venv/bin/python /home/longhui/Desktop/数据结构与算法/venv/MyCode/5_queue/my_queue.py
1
2
3
1
False
Process finished with exit code 0