簡體   English   中英

為什么需要std :: minmax_element?

[英]Why need std::minmax_element?

為什么我們需要std::min_elementstd::max_element的組合版本用於std::minmax_element 它只是用於保存比較或其背后的其他好處嗎?

std::min_elementstd::max_element需要在返回之前遍歷整個容器。 如果你使用std::min_element后跟std::max_element那么這是兩次遍歷,而如果你使用std::minmax_element則只需要一次。

所以,是的,它只是“只是”用於保存比較,但我認為將所需的工作量減半,以便在不損失清晰度的情況下檢索所需的數據是非常值得的。

檢查參考頁面

它列出了兩個不同之處

這個算法不同於std::make_pair(std::min_element(), std::max_element()) ,不僅在效率方面,而且在這個算法找到最后一個最大的元素,而std::max_element找到 一個最大的元素元件。

提到的效率增益是因為std::minmax_element只需要處理一次數據,而運行std::min_elementstd::max_element需要兩次處理數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM