该函数定义在#include<algorithm>
头文件中
函数模板:
- max_element(arr, arr + size); 返回最大值的地址(迭代器) ;
- min_element(arr, arr + size); 返回最小值的地址(迭代器);
解释: arr为数组, size为数组长度; 按字典序比大小.
对于 n 行 m 列的二维数组用法: max/min_element(&arr[0][0], &arr[n - 1][m]);
int arr[] = {1, 2, 5, 3, 0, 8};
cout << "最大值:" << endl;
cout << *max_element(arr, arr + 6) << ' ';
cout << *max_element(arr + 2, arr + 4) << endl;
cout << "最小值:" << endl;
cout << *min_element(arr, arr + 6) << ' ';
cout << *min_element(arr + 1, arr + 4) << endl;
/*
最大值:
8 5
最小值:
0 2
*/
/*二维数组用法*/
int arr[2][5] = {{2,4,5,6,7},{34,23,1,4,455}};
/*地址连续*/
cout << (&arr[0][5] == &arr[1][0]) << endl;
cout << "最大值:" << endl;
cout << *max_element(&arr[0][0], &arr[1][5]) << ' ';
cout << *max_element(&arr[0][0], &arr[0][4]) << endl;
cout << "最小值:" << endl;
cout << *min_element(&arr[0][0], &arr[1][5]) << ' ';
cout << *min_element(&arr[0][1], &arr[1][2]) << endl;
/*
最大值:
455 6
最小值:
1 4
*/