def test_Empty_And_Size(self): expectedSize = 3 testQueue = Queue() testQueue.Enqueue(1) testQueue.Enqueue(2) testQueue.Enqueue(3) testSize = testQueue.Size() self.assertEqual(testSize, expectedSize) isEmpty = testQueue.IsEmpty() self.assertEqual(isEmpty, False) testQueue.Dequeue() testQueue.Dequeue() testQueue.Dequeue() isEmpty = testQueue.IsEmpty() self.assertEqual(isEmpty, True)
def BreadthWidthSearch(visibilityGraph, vrtx1, vrtx2): #Initialize the path path = Path() #Initialize the queue queue = Queue() #Add the starting vertex to the queue queue.Enqueue(vrtx1) #mark as visited visitedVrtcs = [vrtx1] #while the queue is not empty run until empty while (len(queue.GetQueue()) != 0): vrtx = queue.Dequeue() neighbor = visibilityGraph.GetVertexEdges(vrtx) for nxtVrtx in neighbor: #if the neighbor vertex has not been visited if ((visitedVrtcs.count(nxtVrtx) == 0)): #queue the next vertex queue.Enqueue(nxtVrtx) #mark as visited visitedVrtcs.append(nxtVrtx) path.AddToPath(vrtx, nxtVrtx) path.GetPaths() return path
def test_Enqueue_And_Dequeue(self): expectedResult = 1 testQueue = Queue() testQueue.Enqueue(1) testQueue.Enqueue(2) testQueue.Enqueue(3) testResult = testQueue.Dequeue() self.assertEqual(expectedResult, testResult)
class BFS: def __init__(self,graph): self.size = len(graph) self.g = graph self.q = Queue(self.size) self.visited = [] for i in range(self.size): self.visited.append(0) def bfs(self,v): self.q.Enqueue(v) self.visited[v] = 1 print("visited vertax : "+ str(v)) while self.q.is_empty() != True: v = self.q.Dequeue() for i in range(self.size): if self.g[v][i] == 1 and self.visited[i] == 0: print("visited vertax : "+ str(i)) self.q.Enqueue(i) self.visited[i] = 1
from Queue import Queue The_Queue = Queue() The_Queue.Enqueue('Hello') The_Queue.Enqueue('World') The_Queue.Enqueue('Hady') print(The_Queue.Top()) print(The_Queue.Dequeue()) print(The_Queue.Dequeue()) print(The_Queue.Dequeue()) print(The_Queue.Dequeue())
print ("Вывод очереди завершен.") Menu.Interface_Task3() #Добавление элемента в очередь: elif Step == 3: print ("Меню добавление элемента в очередь:") print ("Введите добавляемый элемент очереди:") Data = Menu.Int_Controller() Q.Enqueue(Data) print ("Элемент успешно помещен в очередь!") Menu.Interface_Task3() #Удаление элемента из очереди: elif Step == 4: print ("Меню удаления элемента из очереди:") Q.Dequeue() print ("Элемент успешно удален из очереди!") Menu.Interface_Task3() #Подсчет свободных от квадратов чисел: elif Step == 5: print ("Меню подсчета несвободных квадратов:") Q.NQVD_Counter() Menu.Interface_Task3() #Выход в главное меню: elif Step == 6: Menu.Interface_Main() break #Остальные случаи: