Undirected graph
examples/other/undirected-graph/src/main.rs
#[allow(dead_code)] #[derive(Debug)] struct Node { // Vertex, Point name: String, } #[allow(dead_code)] #[derive(Debug)] struct Edge<'a> { // Arcs a: &'a Node, b: &'a Node, } fn main() { let kneiphof = Node { name: String::from("Kneiphof") }; let lomse = Node { name: String::from("Lomse")}; let left = Node { name: String::from("Left bank")}; let right = Node { name: String::from("Right bank")}; let mut edges: Vec<Edge> = vec![]; edges.push(Edge { a: &kneiphof, b: &lomse, }); edges.push(Edge { a: &left, b: &lomse, }); edges.push(Edge { a: &left, b: &lomse, }); edges.push(Edge { a: &left, b: &kneiphof, }); println!("{:#?}", edges); }