日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

c++中關于max_element()函數解讀_C 語言

作者:漫漫想想 ? 更新時間: 2023-04-27 編程語言

C++ min/max_element ()函數用法

/*
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;
}

這里給出了max_element()函數的一種使用方法

cout<<*max_element(a,a+7);

我們已經知道返回的是地址,減去數組名是獲得下標

同理我們可以直接通過地址獲取值

C++中max()與max_element()的區別

max與max_element簡析

  • max(a,b),返回a,b兩者之間的較大值
  • max_element(r, r+6),返回數組r中[0, 6)之間的最大值的迭代器,

使用max_element返回的值減去數組頭地址即為該最大值在數組的序號

min 和 min_element的區別同上,看到下面的例子你就會明白了

程序代碼

#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; 
}

運行截圖

總結

原文鏈接:https://blog.csdn.net/qq_44017078/article/details/111658628

欄目分類
最近更新