# List node class
class Queue:
def __init__(self):
# Initialize an empty list to store queue elements
self.items = []
def is_empty(self):
# Check if the queue is empty
return len(self.items) == 0
def enqueue(self, item):
# Enqueue (add) an item to the end of the queue
self.items.append(item)
def dequeue(self):
if not self.is_empty():
# Dequeue (remove and return) the item from the front of the queue
return self.items.pop(0)
else:
# If the queue is empty, return a message indicating so
return "Queue is empty"
def peek(self):
if not self.is_empty():
# Peek at (view) the item at the front of the queue without removing it
return self.items[0]
else:
# If the queue is empty, return a message indicating so
return "Queue is empty"
def size(self):
# Get the number of elements in the queue
return len(self.items)
def output_queue(self):
# Output the elements of the queue
print("Queue elements:", self.items)
def main():
# Create a new queue
my_queue = Queue()
# Check if the queue is empty
print("Is the queue empty?", my_queue.is_empty())
# Enqueue elements to the queue
my_queue.enqueue(1)
my_queue.enqueue(2)
my_queue.enqueue(3)
# Output the elements of the queue
my_queue.output_queue()
# Check the size of the queue
print("Queue size:", my_queue.size())
# Peek at the front element of the queue
print("Front element:", my_queue.peek())
# Dequeue elements from the queue
dequeued_item = my_queue.dequeue()
print("Dequeued item:", dequeued_item)
# Check the size of the queue after dequeue
print("Queue size after dequeue:", my_queue.size())
# Check if the queue is empty again
print("Is the queue empty now?", my_queue.is_empty())
# Output the elements of the queue
my_queue.output_queue()
if __name__ == "__main__":
main()
结果:
Is the queue empty? True
Queue elements: [1, 2, 3]
Queue size: 3
Front element: 1
Dequeued item: 1
Queue size after dequeue: 2
Is the queue empty now? False
Queue elements: [2, 3]