terrain-graph

Crates.ioterrain-graph
lib.rsterrain-graph
version1.0.1
sourcesrc
created_at2023-10-25 10:36:42.368703
updated_at2024-01-26 09:03:03.516884
descriptionA Simple Graph Library for Rust
homepage
repository
max_upload_size
id1013272
size19,204
Teruki TADA (TadaTeruki)

documentation

README

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
Commit count: 0

cargo fmt