0. 在头文件 #include <algorithm> 中,返回的是迭代器,所以输出值的话要在前面加 *
1. 第三个参数cmp可写可不写, max_element() 和 min_element() 默认是从小到大排列,然后 max_element() 输出最后一个值, min_element() 输出第一个值,但是如果自定义的 cmp 函数写的是从大到小排列,那么会导致 max_element() 和 min_element() 的两个结果是对调的
2. 可以用于 vector<int> 或者 vector<string> 等,也可以用于 int arr[4] 或者 string arr[4] ,也可以用于结构体vector或者结构体数组~
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
struct node { int x, y; }; bool cmp1(node a, node b) { return a.x > b.x; } int main() { vector<int> v(3); int arr[4]; vector<node> v1(3); cout << *max_element(v.begin(), v.end()); cout << *min_element(arr, arr + 4); cout << (*max_element(v1.begin(), v1.end(), cmp1)).y; return 0; } |
❤ 点击这里 -> 订阅《PAT | 蓝桥 | LeetCode学习路径 & 刷题经验》by 柳婼