以下为Python代码
实现:
class Queue:def __init__(self, capacity):self.capacity = capacity #队列容量self.front = 0 # 队头指针self.rear = 0 # 队尾指针self.count = 0 #队列元素个数self.data = [None] * capacity #队列数据def is_empty(self):return self.count == 0def is_full(self):return self.count == self.capacitydef enqueue(self, item):if self.is_full():return Falseself.data[self.rear] = itemself.rear = (self.rear + 1) % self.capacityself.count += 1return Truedef dequeue(self):if self.is_empty():return Noneitem = self.data[self.front]self.front = (self.front + 1) % self.capacityself.count -= 1return itemdef length(self):return self.countdef peek(self):if self.is_empty():return Nonereturn self.data[self.front]def traverse(self):if self.is_empty():print("Empty Queue")returni = self.frontwhile i != self.rear:print(self.data[i], end=" ")i = (i + 1) % self.capacityprint()
使用示例:
q = Queue(5)q.enqueue(1)q.enqueue(2)q.enqueue(3)q.enqueue(4)q.enqueue(5)print("Length:", q.length()) # Length: 5print("Peek:", q.peek()) # Peek: 1q.traverse() # 1 2 3 4 5q.dequeue()q.traverse() # 2 3 4 5q.enqueue(6)q.traverse() # 2 3 4 5 6
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/13907.html