C++ min/max_element 函數(shù)用法詳解
同樣是O(n)復(fù)雜度,但是經(jīng)過不嚴(yán)謹(jǐn) 測試,使用庫函數(shù)的速度遠(yuǎn)超for循環(huán)的遍歷找最值
/* param begin : 序列起始地址(迭代器) param end : 序列結(jié)束地址(迭代器) return : 序列中最小元素地址(迭代器) */ min_element(begin, end); /* param begin : 序列起始地址(迭代器) param end : 序列結(jié)束地址(迭代器) return : 序列中最大元素地址(迭代器) */ max_element(begin, end);
注意:
接收的參數(shù)是容器的首尾地址(迭代器)(可以是一個區(qū)間)
返回的是最值元素的地址(迭代器),需要減去序列頭以轉(zhuǎn)換為下標(biāo)
示例:

#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;
}
總結(jié)
以上所述是小編給大家介紹的C++ min/max_element 函數(shù)用法詳解,希望對大家有所幫助!
相關(guān)文章
C++實現(xiàn)LeetCode(201.數(shù)字范圍位相與)
這篇文章主要介紹了C++實現(xiàn)LeetCode(201.數(shù)字范圍位相與),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
C++實現(xiàn)讀入二進(jìn)制數(shù)并轉(zhuǎn)換為十進(jìn)制輸出
本文給大家介紹的是一則使用C++實現(xiàn)讀入二進(jìn)制數(shù)并轉(zhuǎn)換為十進(jìn)制輸出的代碼,實現(xiàn)起來其實非常簡單,C++本身就提供了二進(jìn)制類庫的,大家看代碼吧,簡單又實用。2015-03-03
使用設(shè)計模式中的單例模式來實現(xiàn)C++的boost庫
這篇文章主要介紹了使用設(shè)計模式中的單例模式來實現(xiàn)C++的boost庫的方法,其中作者對線程安全格外強(qiáng)調(diào),需要的朋友可以參考下2016-03-03
C/C++代碼操作MySQL數(shù)據(jù)庫詳細(xì)步驟
這篇文章主要給大家介紹了關(guān)于C/C++代碼操作MySQL數(shù)據(jù)庫的相關(guān)資料,通過文中的這些示例,我們可以連接到MySQL數(shù)據(jù)庫,并執(zhí)行常見的數(shù)據(jù)庫操作,如創(chuàng)建表、插入數(shù)據(jù)和查詢數(shù)據(jù),需要的朋友可以參考下2023-12-12

