Changeset 1060:7a24bb2e7480 in lemon-0.x
- Timestamp:
- 01/07/05 19:53:02 (18 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@1456
- Location:
- src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/lemon/undir_graph_extender.h
r1054 r1060 141 141 template <typename E> 142 142 void _dirFirstOut(E &e, const Node &n) const { 143 Parent::firstIn(e,n); 144 if( UndirEdge(e) != INVALID ) { 145 e.forward = false; 146 } 147 else { 148 Parent::firstOut(e,n); 149 e.forward = true; 150 } 151 } 152 template <typename E> 153 void _dirFirstIn(E &e, const Node &n) const { 143 154 Parent::firstOut(e,n); 144 155 if( UndirEdge(e) != INVALID ) { 156 e.forward = false; 157 } 158 else { 159 Parent::firstIn(e,n); 145 160 e.forward = true; 146 161 } 147 else {148 Parent::firstIn(e,n);149 e.forward = false;150 }151 }152 template <typename E>153 void _dirFirstIn(E &e, const Node &n) const {154 Parent::firstIn(e,n);155 if( UndirEdge(e) != INVALID ) {156 e.forward = true;157 }158 else {159 Parent::firstOut(e,n);160 e.forward = false;161 }162 162 } 163 163 164 164 template <typename E> 165 165 void _dirNextOut(E &e) const { 166 if( e.forward ) { 166 if( ! e.forward ) { 167 Node n = Parent::target(e); 168 Parent::nextIn(e); 169 if( UndirEdge(e) == INVALID ) { 170 Parent::firstOut(e, n); 171 e.forward = true; 172 } 173 } 174 else { 175 Parent::nextOut(e); 176 } 177 } 178 template <typename E> 179 void _dirNextIn(E &e) const { 180 if( ! e.forward ) { 181 Node n = Parent::source(e); 167 182 Parent::nextOut(e); 168 183 if( UndirEdge(e) == INVALID ) { 169 Parent::firstIn(e, Parent::source(e));170 e.forward = false;184 Parent::firstIn(e, n); 185 e.forward = true; 171 186 } 172 187 } 173 188 else { 174 189 Parent::nextIn(e); 175 }176 }177 template <typename E>178 void _dirNextIn(E &e) const {179 if( e.forward ) {180 Parent::nextIn(e);181 if( UndirEdge(e) == INVALID ) {182 Parent::firstOut(e, Parent::target(e));183 e.forward = false;184 }185 }186 else {187 Parent::nextOut(e);188 190 } 189 191 } … … 227 229 228 230 229 int maxId(Node n) const {231 int maxId(Node) const { 230 232 return Parent::maxId(Node()); 231 233 } -
src/work/jacint/bug.cc
r1059 r1060 1 //lasd megjegyzes a 49-es sorban2 1 #include <iostream> 3 2 #include <queue> … … 7 6 #include <lemon/invalid.h> 8 7 #include <lemon/list_graph.h> 8 #include <lemon/smart_graph.h> 9 9 #include <matching.h> 10 10 11 11 using namespace lemon; 12 using namespace std; 12 13 13 int main(int, char **) {14 14 15 typedef UndirListGraph Graph; 15 int main() { 16 17 typedef UndirSmartGraph Graph; 16 18 17 19 typedef Graph::Edge Edge; … … 20 22 typedef Graph::NodeIt NodeIt; 21 23 typedef Graph::Node Node; 24 25 typedef Graph::OutEdgeIt OutEdgeIt; 22 26 23 27 Graph G; 24 28 25 G.clear();29 // G.clear(); 26 30 std::vector<Graph::Node> nodes; 27 31 for (int i=0; i<5; ++i) … … 36 40 37 41 for(UndirEdgeIt e(G); e!=INVALID; ++e) { 38 std::cout<<G.id(e)<<" : "<<G.id(G.source(e))<<" " <<G.id(G.target(e))<<std::endl; 42 std::cout<<G.id(e)<<" : "<<G.id(G.source(e)) 43 <<" " <<G.id(G.target(e))<<std::endl; 39 44 } 40 45 … … 45 50 } 46 51 52 cout << "Dev Out edges from node " << G.id(nodes[1])<<std::endl; 53 Edge f; 54 for(G.firstOut(f, nodes[1]); f!=INVALID; G.nextOut(f)) { 55 cout<<"edge " << G.id(f) << " goes" 56 <<" from "<< G.id(G.source(f)) 57 << " to " << G.id(G.target(f))<<std::endl; 58 } 59 60 cout << "Out edges from node " << G.id(nodes[1])<<std::endl; 61 for( OutEdgeIt f(G,nodes[1]); f!=INVALID; ++f ) { 62 cout<<"edge " << G.id(f) << " goes" 63 <<" from "<< G.id(G.source(f)) 64 << " to " << G.id(G.target(f))<<std::endl; 65 } 66 47 67 std::cout<<"Edges of node " << G.id(nodes[1])<<std::endl; 68 for( IncEdgeIt f(G,nodes[1]); f!=INVALID; ++f ) { 69 cout<<"edge " << G.id(f) << " goes" 70 <<" from "<< G.id(G.source(f)) 71 << " to " << G.id(G.target(f))<<std::endl; 72 } 48 73 49 for( IncEdgeIt f(G,nodes[1]); f!=INVALID; ++f ) { 50 std::cout<<"edge " << G.id(f)<< " goes to " << G.id(G.target(f))<<std::endl; 51 }//ez a ket for ciklus meg lefut - bar hibas eleken iteral -, de a matching.h-s mar segfaultol 74 //return 0; 75 76 //ez a ket for ciklus meg lefut - bar hibas eleken iteral -, de a 77 //matching.h-s mar segfaultol 52 78 53 79 for( IncEdgeIt f(G,nodes[1]); f!=INVALID; ++f ) {
Note: See TracChangeset
for help on using the changeset viewer.