1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Cấu trúc dữ liệu và Thuật toán với Python

Connected

Bài tập

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 đợi
  • dequeue(): loại bỏ một phần tử khỏi hàng đợi
  • has_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().

Hướng dẫn 1/3

undefined XP
    1
    2
    3
  • Hoàn thiện hàm add_document() để thêm một tài liệu vào hàng đợi.
  • Hoàn thiện hàm print_documents() để lặp qua hàng đợi khi vẫn còn phần tử và lần lượt lấy mỗi tài liệu ra khỏi hàng đợi.