Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <list>
- #include <iterator>
- #include <array>
- #include <limits.h>
- #define V 10
- using namespace std;
- void stvoriGraf(list<int> adj[], int nVertex)
- {
- for (int i = 0; i < nVertex; i++) {
- for (int j = 0; j < nVertex; j++) {
- int create_edge = rand() % 2;
- if (create_edge == 1 && i != j)
- adj[i].push_back(j);
- }
- }
- }
- void DFS(list<int> adj[], int nVertex, int v, bool visited[])
- {
- visited[v] = true;
- //cout << v << " ";
- list<int>::iterator i;
- for (i = adj[v].begin(); i != adj[v].end(); ++i)
- if (!visited[*i])
- DFS(adj, V, *i, visited);
- }
- bool jespojen(list<int> adj[])
- {
- bool visited[V];
- for (int i = 0; i < V; i++)
- visited[i] = false;
- DFS(adj, V, 0, visited);
- for (int i = 0; i < V; i++)
- if (visited[i] == false)
- return false;
- //Graph gr = getTranspose();
- for (int i = 0; i < V; i++)
- visited[i] = false;
- //gr.DFSUtil(0, visited);
- for (int i = 0; i < V; i++)
- if (visited[i] == false)
- return false;
- return true;
- }
- int main()
- {
- list<int> adj[V];
- stvoriGraf(adj, V);
- if (jespojen(adj) == 0) {
- cout << "Graf nije potpuno spojen";
- }
- else {
- cout << "Graf je potpuno spojen";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement