C++ max_element()的使用

max_element是用来来查询最大值所在的第一个位置。

max_element有两种写法,第一种是从头迭代器到尾迭代器用自己写的方法去比较,
第二种是直接用它自带的头迭代器到尾迭代器的比较大小。
在这里插入图片描述

#include <algorithm>
#include <iostream>

using namespace std;
struct structs 
{
	bool operator() (int i, int j) 
{
 return i<j; 
}
} structs;
//此处也可以直接用bool bools(int i, int j) { return i<j; }
void main()
{
	int ints[] = { 3,5,7,2,7,6,4 };
//方法一
cout << "方法一最大值地址是" << max_element(ints, ints + 7, structs) << endl;
cout << "方法一最大值的位置是"  << *max_element(ints, ints + 7, structs ) << endl;
//方法二
cout << "方法二最大值地址是" << max_element(ints, ints + 7) << endl;
cout << "方法二最大值的位置是"  << *max_element(ints, ints + 7) << endl;
//如果不加*获取的是他的地址
int pos = *max_element(ints, ints + 7);
	int i;
	for (i = 0; i < 10; i++)
	{
		if (ints[i] == pos)
		{
			break;
		}
	}
	cout << "最大值的位置是" << i + 1 << endl;
}

执行后:
在这里插入图片描述

c++中的max_element函数是用来查找容器中的最大元素的。它有两种常见的用法。第一种用法是通过传递容器的起始位置和结束位置来比较元素的大小,例如: ``` vector<int> nums = {3, 5, 7, 2, 7, 6, 4}; auto max_num = max_element(nums.begin(), nums.end()); ``` 这将返回指向最大元素的迭代器。如果要获取最大值的位置,可以通过解引用迭代器来获取: ``` int max_pos = *max_element(nums.begin(), nums.end()); ``` 第二种用法是直接使用容器的默认比较函数来比较元素的大小,例如: ``` vector<int> nums = {3, 5, 7, 2, 7, 6, 4}; auto max_num = max_element(nums.begin(), nums.end(), less<int>()); ``` 同样地,这将返回指向最大元素的迭代器。同样地,如果要获取最大值的位置,可以通过解引用迭代器来获取。 总结来说,c++max_element函数可以帮助我们快速找到容器中的最大元素,并可以通过迭代器或解引用迭代器来获取最大值的位置。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [C++ max_element()的使用](https://blog.csdn.net/qq_39686486/article/details/92626424)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [毕业设计:基于C++和Qt+mysql实现的物业管理系统.zip](https://download.csdn.net/download/qq_35831906/88259232)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值