C++ min/max_element 函數(shù)用法詳解
同樣是O(n)復(fù)雜度,但是經(jīng)過(guò)不嚴(yán)謹(jǐn) 測(cè)試,使用庫(kù)函數(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ù)是容器的首尾地址(迭代器)(可以是一個(gè)區(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ù)用法詳解,希望對(duì)大家有所幫助!
相關(guān)文章
C++實(shí)現(xiàn)LeetCode(36.驗(yàn)證數(shù)獨(dú))
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(36.驗(yàn)證數(shù)獨(dú)),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
數(shù)據(jù)結(jié)構(gòu)之伸展樹(shù)詳解
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)之伸展樹(shù)詳解,本文對(duì)伸展樹(shù)(Splay Tree)的單旋轉(zhuǎn)操作、一字型旋轉(zhuǎn)、之字形旋轉(zhuǎn)區(qū)間操作等理論知識(shí)做了講解,并給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-08-08
c++代碼實(shí)現(xiàn)tea加密算法的實(shí)例詳解
這篇文章主要介紹了c++代碼實(shí)現(xiàn)tea加密算法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
C++程序的五大內(nèi)存分區(qū)實(shí)例詳解
C++內(nèi)存區(qū)域,一般可分為棧內(nèi)存區(qū)、堆內(nèi)存區(qū)、全局/靜態(tài)內(nèi)存區(qū)、文字常量?jī)?nèi)存區(qū)及程序代碼區(qū)5大分區(qū),本文就帶大家深刻的理解這5大內(nèi)存分區(qū),感興趣的可以了解一下2021-10-10
C++類與對(duì)象深入之運(yùn)算符重載與const及初始化列表詳解
運(yùn)算符是程序中最最常見(jiàn)的操作,例如對(duì)于內(nèi)置類型的賦值我們直接使用=賦值即可,因?yàn)檫@些編譯器已經(jīng)幫我們做好了,但是對(duì)象的賦值呢?能直接賦值嗎2022-06-06

