Triển khai hàng đợi cho tác vụ máy in
Trong video trước, bạn đã học rằng hàng đợi có thể có nhiều ứng dụng, chẳng hạn như quản lý các tác vụ cho máy in.
Trong bài tập này, bạn sẽ triển khai một lớp có tên PrinterTasks(), đại diện cho một hàng đợi đơn giản cho máy in. Để làm điều này, bạn sẽ được cung cấp lớp Queue() với các phương thức sau:
enqueue(data): thêm một phần tử vào hàng đợidequeue(): loại bỏ một phần tử khỏi hàng đợihas_elements(): kiểm tra xem hàng đợi có phần tử hay không. Đây là đoạn mã:
def has_elements(self):
return self.head != None
Bạn sẽ bắt đầu viết lớp PrinterTasks() với các phương thức add_document() và print_documents(). Sau đó, bạn sẽ mô phỏng việc chạy một chương trình sử dụng lớp PrinterTasks().
Bài tập này là một phần của khóa học
Cấu trúc dữ liệu và Thuật toán với Python
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
class PrinterTasks:
def __init__(self):
self.queue = Queue()
def add_document(self, document):
# Add the document to the queue
self.____.____(document)
def print_documents(self):
# Iterate over the queue while it has elements
while self.____.____():
# Remove the document from the queue
print("Printing", self.____.____())