Question
Solution Preview
This material may consist of step-by-step explanations on how to solve a problem or examples of proper writing, including the use of citations, references, bibliographies, and formatting. This material is made available for the sole purpose of studying and learning - misuse is strictly forbidden.
#include <cstdlib>#include "Graph.h"
using namespace std;
bool cycles=false;// determine if a graph has cycles.
bool * Visited;
node * headnodes;
void DFS(int v)
{
//cout<<v<<" ";
if (Visited [v]==true) {
return;
}
// cout<<v<<" ";
Visited [v]=true;
node * adjnode = headnodes[v].next;
while (adjnode != 0 ) // visit all vertices adjacent to v
{
if (!Visited[adjnode->vertex]) //if adjacent vertex to v was not visited previously
DFS(adjnode->vertex);
else if (v == adjnode->vertex) {
cycles = true;
}
adjnode = adjnode->next;
}
}...