#排序 #迭代器 #数据结构

sortby

为迭代器添加方便的排序函数

4个版本

0.1.3 2023年5月6日
0.1.2 2020年7月26日
0.1.1 2020年6月18日
0.1.0 2020年6月17日

1173算法 中排名

Download history 500/week @ 2024-03-13 225/week @ 2024-03-20 255/week @ 2024-03-27 258/week @ 2024-04-03 299/week @ 2024-04-10 158/week @ 2024-04-17 338/week @ 2024-04-24 219/week @ 2024-05-01 152/week @ 2024-05-08 146/week @ 2024-05-15 308/week @ 2024-05-22 148/week @ 2024-05-29 300/week @ 2024-06-05 241/week @ 2024-06-12 284/week @ 2024-06-19 124/week @ 2024-06-26

965 每月下载量

MIT 许可证

10KB
203

Rust Crates

排序

允许对迭代器进行排序的便利函数。

示例

use sortby::*;

#[derive(Clone, Debug, Eq, PartialEq)]
struct Person {
  pub age: i32,
  pub name: &'static str,
}

fn main() {
  let data = vec![
    Person {
      name: "Rich",
      age: 18,
    },
    Person {
      name: "Bob",
      age: 9,
    },
    Person {
      name: "Marc",
      age: 21,
    },
    Person {
      name: "Alice",
      age: 18,
    },
  ];

  let sorted: Vec<_> = data.iter()
    .sort_by_desc(|p| p.age)
    .then_sort_by(|p| p.name)
    .collect();

   println!("{:#?}", sorted);
}

lib.rs:

此crate为迭代器添加了方便的排序函数。

示例

use sortby::*;

#[derive(Clone, Debug, Eq, PartialEq)]
struct Person {
  pub age: i32,
  pub name: &'static str,
}

let data = vec![
  Person {
    name: "Rich",
    age: 18,
  },
  Person {
    name: "Bob",
    age: 9,
  },
  Person {
    name: "Marc",
    age: 21,
  },
  Person {
    name: "Alice",
    age: 18,
  },
];

let sorted: Vec<_> = data.iter()
  .sort_by_desc(|p| p.age)
  .then_sort_by(|p| p.name)
  .collect();

println!("{:#?}", sorted);

无运行时依赖