Example #1
0
 def breadth_first(self):
     """
     Generates a breadth first traversal of a Tree's positions
     """
     if not self.is_empty():
         q = LinkedQueue()
         q.enqueue(self.root())
         while not q.is_empty():
             for c in self.children(q.first()):
                 q.enqueue(c)
             yield q.dequeue()
print("\n")

# Test links mellem elementer.
print("Det første elements next forventes at være 10:", queue._head._next._element)
print("Det andet elements next forventes at være 12:", queue._head._next._next._element)
print("Det sidste elements next forventes at være None:", queue._tail._next)
print("Køens længde forventes at være 3:", queue.__len__())
print("Køen forventes ikke at være tom og resultatet False:", queue.is_empty())
print()

# Test dequeue element 5.
print("Elementet som er blevet fjernet forventes at være 5:", queue.dequeue())
print("Køen forventes at indeholde følgende elementer; 10, 12:")
queue.print_queue()
print()
print("Det første element i køen forventes at være 10:", queue.first())
print("Køens længde forventes at være 2:", queue.__len__())
print()

# Test dequeue element 10.
print("Elementet som er blevet fjernet forventes at være 10:", queue.dequeue())
print("Køen forventes at indeholde følgende elementer; 12:")
queue.print_queue()
print()
print("Det første element i køen forventes at være 12:", queue.first())
print("Køens længde forventes at være 1:", queue.__len__())
print()

# Test dequeue element 12.
print("Elementet som er blevet fjernet forventes at være 12:", queue.dequeue())
print("Køen forventes at returnere en fejlbesked ved forsøg på at printe køens indhold:")