| Example Program Transitive Closure Transitive closure code example A tutorial about the transitive closure algorithm.
| 1 | #include <iostream>
| | 2 | #include <seqan/graph_algorithms.h>
| | 3 |
| | 4 | using namespace seqan;
| | 5 |
| | 6 | int main() {
| | 7 | typedef Graph<Directed<> > TGraph;
| | 8 | typedef VertexDescriptor<TGraph>::Type TVertexDescriptor;
| | 9 | typedef EdgeDescriptor<TGraph>::Type TEdgeDescriptor;
| | 10 | typedef Size<TGraph>::Type TSize;
|
| 11 | TSize numEdges = 5;
| | 12 | TVertexDescriptor edges[] = {3,0, 1,2, 2,1, 1,3, 3,2};
| | 13 | TGraph g;
| | 14 | addEdges(g, edges, numEdges);
| | 15 | ::std::cout << g << ::std::endl;
|
| 17 | transitiveClosure(g,closure);
|
| 18 | TSize len = (TSize) ::std::sqrt((double) length(closure));
| | 19 | for (TSize row=0;row < len;++row) {
| | 20 | for (TSize col=0;col < len;++col) {
| | 21 | ::std::cout << getValue(closure, row*len+col) << ",";
| | 22 | }
| | 23 | ::std::cout << ::std::endl;
| | 24 | }
| | 25 | return 0;
| | 26 | }
|
|