Add iterator over vertices Graph::iter()

This commit is contained in:
2025-10-21 15:57:48 +02:00
parent bff8ca6857
commit 0826e140b8
+4 -1
View File
@@ -24,7 +24,6 @@ pub struct Graph {
pub incidence_vertices: Vec<Vertex>, pub incidence_vertices: Vec<Vertex>,
} }
// TODO: Add iterator of vertices.
// TODO: Add iterator of edges. // TODO: Add iterator of edges.
// TODO: Add iterator of vertex neighbors, see 'fn add_adjacent()'. // TODO: Add iterator of vertex neighbors, see 'fn add_adjacent()'.
impl Graph { impl Graph {
@@ -87,6 +86,10 @@ impl Graph {
self.incidence_headers[v1.0].first_incidence = self.incidence_headers[v1.0].first_incidence =
Some(Incidence(self.incidence_vertices.len() - 1)); Some(Incidence(self.incidence_vertices.len() - 1));
} }
pub fn iter(&self) -> impl Iterator<Item = Vertex> {
(0..self.incidence_headers.len()).map(Vertex)
}
} }
#[cfg(test)] #[cfg(test)]