'''
队列 QUEUE
队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表
队列是一种先进先出的(FIRST IN FIRST OUT)的线性表,允许插入的一端为队尾,允许删除的一端为队头。
队列不允许在中间部位进行操作
队尾 队头
-----> [An] ... [A3] [A2] [A1]------>
与我们生活中的排队一致,先来先得
队列的实现:
1.顺序表实现
2.链表实现
实现操作:
- Queue() 创建一个空队列
- enqueue(item) 向队尾添加一个新的元素item
- dequeue() 从队头删除一个元素
- is_empty() 判断一个队列是否为空
- size() 返回队列的大小
'''
# coding=utf-8
class Queue(object):
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def enqueue(self,item):
self.items.insert(0,item)
# self.items.append(item)
def dequeue(self):
return self.items.pop()
# return self.items.pop(0)
def size(self):
return len(self.items)
if __name__=="__main__":
my_queue = Queue()
my_queue.enqueue("hello")
my_queue.enqueue("queue")
my_queue.enqueue("1")
my_queue.enqueue("2")
my_queue.enqueue("3")
print(my_queue.is_empty())
print(my_queue.size())
print("*****************")
print(my_queue.dequeue())
print(my_queue.dequeue())
print(my_queue.dequeue())
print(my_queue.dequeue())
print(my_queue.dequeue())
print("*****************")
结果输出:
False
5
*****************
hello
queue
1
2
3
*****************
【随笔】队列
最新推荐文章于 2024-08-16 21:49:16 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)