2 stable releases
1.0.1 | Jan 26, 2024 |
---|---|
1.0.0 | Oct 25, 2023 |
#1440 in Data structures
27 downloads per month
Used in 2 crates
11KB
198 lines
terrain-graph
A simple graph library for Rust based on adjacency lists.
This is a subproject for the fastlem.
This library contains the following structures:
DirectedGraph
UndirectedGraph
EdgeAttributedDirectedGraph
EdgeAttributedUndirectedGraph
Usage
[dependencies]
terrain-graph = "1.0.1"
This is a basic example of how to use the UndirectedGraph
and DirectedGraph
:
use terrain_graph::*;
// Create an undirected graph
let mut undirected_graph = UndirectedGraph::new(5);
undirected_graph.add_edge(0, 1);
undirected_graph.add_edge(0, 2);
println!("{}", undirected_graph.has_edge(1, 0)); // Outputs: true
println!("{}", undirected_graph.degree(0)); // Outputs: 2
// Create a directed graph
let mut directed_graph = DirectedGraph::new(5);
directed_graph.add_edge(0, 1);
directed_graph.add_edge(0, 2);
println!("{}", directed_graph.has_edge(1, 0)); // Outputs: false
println!("{}", directed_graph.outdegree(0)); // Outputs: 2
println!("{}", directed_graph.indegree(1)); // Outputs: 1