Beispiel #1
0
 def traverseBFS(self,source):
     path = ''
     for key, vertex in self.vertexList.items():
         vertex.visit = None
         vertex.dist = float('inf')
         vertex.predecessor = None
     self.vertexList[source].visit = False
     self.vertexList[source].dist = 0
     self.vertexList[source].predecessor = None
     bfsQ = Queue()
     bfsQ.enQueue(self.vertexList[source])
     curVertex = bfsQ.deQueue()
     while curVertex:
         for vertex in curVertex.next:
             if vertex.visit == None:
                 vertex.visit = False
                 vertex.dist = curVertex.dist+1
                 vertex.predecessor = curVertex
                 bfsQ.enQueue(vertex)
         curVertex.visit = True
         path+= ('Vertex %s, Distance: %s\n'%(curVertex.name,curVertex.dist))
         curVertex = bfsQ.deQueue()
     return path
from Queue_head import Queue
from Stack import Stack

myQ = Queue()
myS = Stack()

for data in [1,2,3,4,5]:
    myQ.enQueue(data)
    myS.push(data)
    
print("Queue:")
print(myQ)

print("\nStack: ")
print(myS)


print("Removing first element: ")
print("Queue returned: %s"%myQ.deQueue())
print("Stack returned: %s"%myS.pop())

print("\nQueue:")
print(myQ)

print("\nStack: ")
print(myS)

print("Adding a 6 element:")
myQ.enQueue(6)
myS.push(6)
print("\nQueue:")