#round #tournament #matches #algorithm #respective #vector #team

round_robin

使用循环赛制算法创建一个包含比赛各轮次的向量

7 个版本 (2 个稳定版)

1.0.1 2024 年 7 月 6 日
1.0.0 2021 年 7 月 18 日
0.1.31 2021 年 5 月 23 日

#307算法

MIT 许可证

5KB
53

循环赛制算法

使用循环赛制算法创建一个轮次的向量。

使用字符串的示例

let teams = vec!["A", "B", "C", "D"];
let rounds = generate_rounds(teams);
// [("A", "D"), ("C", "B"), ("A", "C"), ("B", "D"), ("A", "C"), ("B", "D")]

使用数字的示例

let teams = vec![1, 2, 3, 4];
let rounds = generate_rounds(teams);
// [(1, 4), (3, 2), (1, 3), (2, 4), (1, "C"), (2, 4)]

使用结构体的示例

#[derive(Debug, Clone)]
struct Team { name: &'static str }
let teams = vec![
    Team { name: "Liverpool" }, Team { name: "Chelsea" },
    Team { name: "M. City" }, Team { name: "M. United" },
];
let rounds = generate_rounds(teams);
// [(Team { name: "Liverpool" }, Team { name: "M. United" }), (Team { name: "M. City" }, Team { name: "Chelsea" }), (Team { name: "Liverpool" }, Team { name: "M. City" }), (Team { name: "Chelsea" }, Team { name: "M. United" }), (Team { name: "Liverpool" }, Team { name: "M. City" }), (Team { name: "Chelsea" }, Team { name: "M. United" })]

无运行时依赖