priority-matrix

Crates.iopriority-matrix
lib.rspriority-matrix
version0.2.0
sourcesrc
created_at2023-02-12 15:21:36.620193
updated_at2023-04-19 22:10:42.443615
descriptionA matrix that supports per-row, per-column and whole-matrix maximum key queries.
homepagehttps://github.com/jerry73204/priority-matrix
repositoryhttps://github.com/jerry73204/priority-matrix.git
max_upload_size
id783250
size19,799
(jerry73204)

documentation

https://docs.rs/priority-matrix/

README

priority-matrix

The Rust crate implements the matrix data structure that supports per-row, per-column and whole-matrix maximum key queries.

Example

The code below is an example to query the key with the maximum weight either in the matrix, in a row or in a column. The complete example can be found in peek.rs.

let matrix: PriorityMatrix<char, &str, i32> = [
    ('a', "alpha", 0),
    ('a', "beta", 3),
    ('b', "alpha", 2),
    ('b', "beta", 1),
]
.into_iter()
.collect();

// Get the maximum entry
let entry = matrix.peek().unwrap();
assert_eq!(entry.weight, &3);

// Get the maximum entry in a row
let entry = matrix.peek_from_row(&'b').unwrap();
assert_eq!(entry.column, &"alpha");

// Get the maximum entry in a column
let entry = matrix.peek_from_column(&"alpha").unwrap();
assert_eq!(entry.row, &'b');

License

This project is distributed under MIT license. Please read the license file.

Commit count: 6

cargo fmt