Files
paa/Source/Graph.h
Guilherme Werner 4a25a5f48d Clone graphs code
2023-06-10 15:35:35 -03:00

45 lines
774 B
C++

#pragma once
#include <algorithm>
#include <bits/stdc++.h>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <list>
#include <sstream>
#include <string.h>
#include <thread>
using namespace std;
class Graph
{
private:
int length;
list<int> *adj;
public:
Graph(int length)
{
this->length = length;
this->adj = new list<int>[length];
}
~Graph()
{
delete[] adj;
}
public:
void Print();
void Insert(int u, int v);
void InsertD(int u, int v);
void Remove(int u, int v);
void RemoveD(int u, int v);
Graph *Clone();
private:
void DFS(int u, vector<int> &disc, vector<int> &low, vector<int> &parent, vector<pair<int, int>> &bridge);
int DFSCount(int v, bool visited[]);
};