我试图在Rust中显示向量中的最小值,但找不到一个好方法.

假设向量为i32:

let mut v = vec![5, 6, 8, 4, 2, 7];

我的目标是在不需要排序的情况下得到向量的最小值.

Vec<i32>英寸范围内获得最小值的最佳方法是什么?

推荐答案

let minValue = vec.iter().min();
match minValue {
    Some(min) => println!( "Min value: {}", min ),
    None      => println!( "Vector is empty" ),
}

https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.min

fn min(self) -> Option<Self::Item>
where
    Self::Item: Ord, 

返回迭代器的最小元素.

如果几个元素的最小值相等,则返回第一个元素.如果迭代器为空,则不返回任何值.

我发现这个要点有一些共同的C#/.NET Linq操作以Swift和Rust表示,这很方便:https://gist.github.com/leonardo-m/6e9315a57fe9caa893472c2935e9d589

Rust相关问答推荐

在Rust中创建可变片段的可变片段的最有效方法是什么?

在actix—web中使用Redirect或NamedFile响应

带扫描的铁 rust 使用滤镜

rust 迹-内存管理-POP所有权-链表

使用极点数据帧时,找不到枚举结果的方法lazy()

Pin<;&;mut可能将Uninit<;T>;>;合并为Pin<;&;mut T>;

在macro_rule中拆分模块和函数名

如何在AVX2中对齐/旋转256位向量?

Rust wasm 中的 Closure::new 和 Closure::wrap 有什么区别

使用 select 处理 SIGINT 和子等待!无阻塞

如何返回 struct 体中向量的切片

Rust Axum 框架 - 解包安全吗?

Rust并发读写引起的死锁问题

如何使用 Rust Governor 为每 10 秒 10 个请求创建一个 RateLimiter?

将 Futures 的生命周期特征绑定到 fn 参数

使用 `clap` 在 Rust CLI 工具中设置布尔标志

从现有系列和 map 值创建新系列

为什么这个闭包没有比 var 长寿?

覆盖类型的要求到底是什么?为什么单个元素元组满足它?

通用类型,不同于输入类型,作为函数的返回值