Changeset 909:6a22e0dfd453 in lemon0.x for src/test/test_tools.h
 Timestamp:
 09/26/04 23:43:38 (19 years ago)
 Branch:
 default
 Phase:
 public
 Convert:
 svn:c9d7d8f590d60310b91f818b3a526b0e/lemon/trunk@1220
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

src/test/test_tools.h
r906 r909 68 68 69 69 ///Adds a Petersen graph to \c G. 70 ///\return The nodes end edges ogthe generated graph.70 ///\return The nodes and edges of the generated graph. 71 71 72 72 template<typename Graph> … … 88 88 } 89 89 90 ///Structure returned by \ref addSymPetersen(). 90 91 92 ///Structure returned by \ref addSymPetersen(). 93 /// 94 template<class Graph> struct SymPetStruct 95 { 96 ///Vector containing the outer nodes. 97 std::vector<typename Graph::Node> outer; 98 ///Vector containing the inner nodes. 99 std::vector<typename Graph::Node> inner; 100 ///Vector containing the edges of the inner circle. 101 std::vector<typename Graph::SymEdge> incir; 102 ///Vector containing the edges of the outer circle. 103 std::vector<typename Graph::SymEdge> outcir; 104 ///Vector containing the chord edges. 105 std::vector<typename Graph::SymEdge> chords; 106 }; 107 108 ///Adds a Petersen graph to the symmetric \c G. 109 110 ///Adds a Petersen graph to the symmetric \c G. 111 ///\return The nodes and edges of the generated graph. 112 113 template<typename Graph> 114 SymPetStruct<Graph> addSymPetersen(Graph &G,int num=5) 115 { 116 SymPetStruct<Graph> n; 117 118 for(int i=0;i<num;i++) { 119 n.outer.push_back(G.addNode()); 120 n.inner.push_back(G.addNode()); 121 } 122 123 for(int i=0;i<num;i++) { 124 n.chords.push_back(G.addEdge(n.outer[i],n.inner[i])); 125 n.outcir.push_back(G.addEdge(n.outer[i],n.outer[(i+1)%5])); 126 n.incir.push_back(G.addEdge(n.inner[i],n.inner[(i+2)%5])); 127 } 128 return n; 129 } 91 130 92 131 #endif
Note: See TracChangeset
for help on using the changeset viewer.