c++中關(guān)于max_element()函數(shù)解讀
更新時間:2023年02月12日 15:05:48 作者:漫漫想想
這篇文章主要介紹了c++中關(guān)于max_element()函數(shù)解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
C++ min/max_element ()函數(shù)用法
/* param begin : 序列起始地址(迭代器) param end ?: 序列結(jié)束地址(迭代器) return ? : 序列中最小元素地址(迭代器) */ min_element(begin, end); ? /* param begin : 序列起始地址(迭代器) param end ?: 序列結(jié)束地址(迭代器) 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;
}這里給出了max_element()函數(shù)的一種使用方法
cout<<*max_element(a,a+7);
我們已經(jīng)知道返回的是地址,減去數(shù)組名是獲得下標(biāo)
同理我們可以直接通過地址獲取值
C++中max()與max_element()的區(qū)別
max與max_element簡析
max(a,b),返回a,b兩者之間的較大值max_element(r, r+6),返回數(shù)組r中[0, 6)之間的最大值的迭代器,
使用max_element返回的值減去數(shù)組頭地址即為該最大值在數(shù)組的序號
min 和 min_element的區(qū)別同上,看到下面的例子你就會明白了
程序代碼
#include <iostream>
#include <algorithm>
using namespace std;
int main(void)
{
int a[6] = {5, 3, 2, 6, 1, 4};
int b = a[0];
int c = a[1];
cout<<max(b, c)<<" "<<min(b,c)<<endl; //輸出為5 3
cout<<max_element(a, a+6) - a<<endl;// 輸出為3
cout<<*max_element(a, a+6)<<endl;//輸出為 6
cout<<min_element(a, a+6) - a<<endl;// 輸出為4
cout<<*min_element(a, a+6)<<endl; //輸出為1
return 0;
}
運(yùn)行截圖

總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
c語言循環(huán)加數(shù)組實(shí)現(xiàn)漢諾塔問題
本文主要介紹了c語言循環(huán)加數(shù)組實(shí)現(xiàn)漢諾塔問題,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01
C語言連接并操作Sedna XML數(shù)據(jù)庫的方法
這篇文章主要介紹了C語言連接并操作Sedna XML數(shù)據(jù)庫的方法,實(shí)例分析了C語言操作XML文件的相關(guān)技巧,需要的朋友可以參考下2015-06-06

