void breadthFirstSearch(Graph *graph, int vertex) { int visited[SIZE]; int i, currVertex; Queue *queue; for(i = 0; i < graph->V; i++) { visited[i] = 0; } queue = initQueue(graph->V); enqueue(queue, vertex); while(!isEmptyQueue(queue)) { currVertex = dequeue(queue); visited[currVertex] = 1; printf(" %d", currVertex); for(i = 0; i < graph->V; i++) { //if there is an edge and that vertex is not visited if((graph->edgeMat[currVertex][i] == 1) && (visited[i] == 0)) { enqueue(queue, i); } } } releaseQueue(queue); }
void tearDown(void) { releaseQueue(queues); }