隱私權政策

搜尋此網誌

技術提供:Blogger.

關於我自己

我的相片
目前從事軟體相關行業,喜歡閱讀、健身、喝調酒。習慣把遇到的問題記下來,每天做一些整理方便自己以後查。 Python、Rust、Kotlin等程式語言皆為自學,目前比較著重在Rust語言,歡迎一起討論。

2023年11月14日 星期二

Rust 迭代max和min概述 - 判斷迭代器中最大值以及最小值


如果要獲得數組中最大值以及最小值

通常會使用max和min

max

max文件[1]這樣寫

    fn max(self) -> Option<Self::Item>

self為一個迭代器,返還一個Option,內容為最大值

min

而min文件[2]則是

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

一樣self是一個迭代器,最終返還一個Option,內容為最小值


例子

因此可以這樣打

max返回最大值

    let mut words:Vec<_> =vec![1,5,2,7,9,2];
    println!("{:?}", words.iter().max().unwrap());
9


而min則是返回最小值

    let mut words:Vec<_> =vec![1,5,2,7,9,2];
    println!("{}", words.iter().min().unwrap());
1


也可以用在切片上

根據第一個字母返還值

    let mut words:Vec<_> =vec!["apple", "food", "cherry", "date", "elderberry"];
    println!("{:?}", words.iter().max().unwrap());
"food"


參考資料

[1] https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.max

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





0 comments:

張貼留言