您好,登錄后才能下訂單哦!
同樣是O(n)復雜度,但是經過不嚴謹 測試,使用庫函數的速度遠超for循環的遍歷找最值
/* param begin : 序列起始地址(迭代器) param end : 序列結束地址(迭代器) return : 序列中最小元素地址(迭代器) */ min_element(begin, end); /* param begin : 序列起始地址(迭代器) param end : 序列結束地址(迭代器) return : 序列中最大元素地址(迭代器) */ max_element(begin, end);
注意:
接收的參數是容器的首尾地址(迭代器)(可以是一個區間)
返回的是最值元素的地址(迭代器),需要減去序列頭以轉換為下標
示例:
#include <iostream> #include <algorithm> using namespace std; #define len 7 int main() { int a[7] = {11, 4, 51, 41, 91, 98, 10}; int min_idx = min_element(a, a+len) - a; int max_idx = max_element(a, a+len) - a; cout<<min_idx<<" "<<a[min_idx]<<endl; cout<<max_idx<<" "<<a[max_idx]<<endl; return 0; }
總結
以上所述是小編給大家介紹的C++ min/max_element 函數用法詳解,希望對大家有所幫助!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。