-MTPGraph::MTPGraph(int nb_vertices, int nb_edges,
- int *from, int *to,
- int src, int snk) {
- _nb_vertices = nb_vertices;
- _nb_edges = nb_edges;
-
- edges = new Edge[_nb_edges];
- vertices = new Vertex[_nb_vertices];
- _front = new Vertex *[_nb_vertices];
- _new_front = new Vertex *[_nb_vertices];
-
- _source = &vertices[src];
- _sink = &vertices[snk];
-
- for(int v = 0; v < _nb_vertices; v++) {
- vertices[v].id = v;
- }
-
- for(int e = 0; e < nb_edges; e++) {
- vertices[from[e]].add_edge(&edges[e]);
- edges[e].occupied = 0;
- edges[e].id = e;
- edges[e].origin_vertex = &vertices[from[e]];
- edges[e].terminal_vertex = &vertices[to[e]];
- }
-
-}
-
-MTPGraph::~MTPGraph() {
- delete[] vertices;
- delete[] edges;
- delete[] _front;
- delete[] _new_front;
-}