equal
deleted
inserted
replaced
113 |
113 |
114 void first(Arc& arc) const { |
114 void first(Arc& arc) const { |
115 int n; |
115 int n; |
116 for(n = first_node; |
116 for(n = first_node; |
117 n!=-1 && nodes[n].first_in == -1; |
117 n!=-1 && nodes[n].first_in == -1; |
118 n = nodes[n].next); |
118 n = nodes[n].next) {} |
119 arc.id = (n == -1) ? -1 : nodes[n].first_in; |
119 arc.id = (n == -1) ? -1 : nodes[n].first_in; |
120 } |
120 } |
121 |
121 |
122 void next(Arc& arc) const { |
122 void next(Arc& arc) const { |
123 if (arcs[arc.id].next_in != -1) { |
123 if (arcs[arc.id].next_in != -1) { |
124 arc.id = arcs[arc.id].next_in; |
124 arc.id = arcs[arc.id].next_in; |
125 } else { |
125 } else { |
126 int n; |
126 int n; |
127 for(n = nodes[arcs[arc.id].target].next; |
127 for(n = nodes[arcs[arc.id].target].next; |
128 n!=-1 && nodes[n].first_in == -1; |
128 n!=-1 && nodes[n].first_in == -1; |
129 n = nodes[n].next); |
129 n = nodes[n].next) {} |
130 arc.id = (n == -1) ? -1 : nodes[n].first_in; |
130 arc.id = (n == -1) ? -1 : nodes[n].first_in; |
131 } |
131 } |
132 } |
132 } |
133 |
133 |
134 void firstOut(Arc &e, const Node& v) const { |
134 void firstOut(Arc &e, const Node& v) const { |