Crates.io | terrain-graph |
lib.rs | terrain-graph |
version | 1.0.1 |
source | src |
created_at | 2023-10-25 10:36:42.368703 |
updated_at | 2024-01-26 09:03:03.516884 |
description | A Simple Graph Library for Rust |
homepage | |
repository | |
max_upload_size | |
id | 1013272 |
size | 19,204 |
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
[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