溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C++ min/max_element 函數(shù)用法詳解

發(fā)布時(shí)間:2020-10-02 16:14:04 來源:腳本之家 閱讀:315 作者:AkagiSenpai 欄目:編程語言

同樣是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ù)是容器的首尾地址(迭代器)(可以是一個(gè)區(qū)間)
返回的是最值元素的地址(迭代器),需要減去序列頭以轉(zhuǎn)換為下標(biāo)

示例:


C++ min/max_element 函數(shù)用法詳解

#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ù)用法詳解,希望對大家有所幫助!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI