Aan de slagGa gratis aan de slag

Een queue voor printertaken implementeren

In de vorige video leerde je dat queues meerdere toepassingen hebben, zoals het beheren van taken voor een printer.

In deze oefening implementeer je een klasse genaamd PrinterTasks(), die een vereenvoudigde queue voor een printer voorstelt. Hiervoor krijg je de klasse Queue() met de volgende methoden:

  • enqueue(data): voegt een element toe aan de queue
  • dequeue(): verwijdert een element uit de queue
  • has_elements(): controleert of de queue elementen bevat. Dit is de code:
    def has_elements(self):
      return self.head != None

Je begint met het coderen van de klasse PrinterTasks() met de methoden add_document() en print_documents(). Daarna simuleer je de uitvoering van een programma dat de klasse PrinterTasks() gebruikt.

Deze oefening maakt deel uit van de cursus

Datastructuren en algoritmen in Python

Cursus bekijken

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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.____.____())
Code bewerken en uitvoeren