1 个不稳定版本
0.1.0 | 2024年3月4日 |
---|
#2390 在 算法
19KB
303 行
对角线操作
此 Rust 模块提供对矩阵中的对角线进行操作的函数。它包括从矩阵中提取正斜率和正负斜率的对角线,以及直行和直列的函数。
正斜率对角线(从左下角到右上角)
diagonal_pos_pos
函数从矩阵的左下角(x:最大值,y:0)开始提取具有正斜率的对角线。
示例
use diagonal::diagonal_pos_pos;
let matrix = vec![
vec![1, 2, 3],
vec![4, 5, 6],
vec![7, 8, 9],
];
let result = diagonal_pos_pos(&matrix);
assert_eq!(result, vec![
vec![&7],
vec![&4, &8],
vec![&1, &5, &9],
vec![&2, &6],
vec![&3],
]);
正负斜率对角线(从左上角到右下角和从左下角到右上角)
diagonal_pos_neg
函数从矩阵的左上角(x & y:0)开始提取具有正负斜率的对角线。
示例
use diagonal::diagonal_pos_neg;
let matrix = vec![
vec![1, 2, 3],
vec![4, 5, 6],
vec![7, 8, 9],
];
let result = diagonal_pos_neg(&matrix);
assert_eq!(result, vec![
vec![&1],
vec![&2, &4],
vec![&3, &5, &7],
vec![&6, &8],
vec![&9],
]);
直行和直列
straight_x
和 straight_y
函数分别按行主序和列主序从矩阵中提取元素。
示例
use diagonal::{straight_x, straight_y};
let matrix = vec![
vec![1, 2, 3],
vec![4, 5, 6],
vec![7, 8, 9],
];
let result_x = straight_x(&matrix);
assert_eq!(result_x, vec![
vec![&1, &2, &3],
vec![&4, &5, &6],
vec![&7, &8, &9],
]);
let result_y = straight_y(&matrix);
assert_eq!(result_y, vec![
vec![&1, &4, &7],
vec![&2, &5, &8],
vec![&3, &6, &9],
]);
提供的函数使提取和操作矩阵对角线变得方便,从而更容易对矩阵元素执行各种操作。
入门指南
要使用此模块,请将 diagonal
crate 添加到您的 Cargo.toml
文件中
[dependencies]
diagonal = "0.1.0"
现在,您可以在 Rust 中导入必要的函数并开始使用矩阵对角线了!