赞
踩
A. 对象为两个变量:max(变量,变量,/函数/)
B. 对象为多个变量: max(初始化列表,/函数/)
A. 头文件:“algorithm”
B. 函数的原理就是找出这些变量当中数值最大的一个并返回,类似于
int max(int a, int b){
return (a > b) ? a : b;
}
C. 关键其实就是我们通常只能比较两个对象,对于多个对象而言可能需要叠加多个max函数,在此我们可以利用max函数可以比较列表容器,通过初始化列表容器一次性比较多个对象完成这个函数。但是因为存在list容器的转换等操作,会更加耗时,比赛不建议使用。
A. 比较两个对象
#include <iostream>
#include <algorithm>
using namespace std;
bool comp(int a, int b){
return a > b;
}
int main(){
cout << max(1, 2) << endl; // 2
cout << max(1, 2, comp) << endl; // 1
}
B. 比较多个对象:初始化列表容器完成此部分操作(相关算法比赛或者题目不建议使用,相对与直接两个两个比较会更耗时)
#include <iostream>
#include <algorithm>
#include <list>
using namespace std;
bool comp(int a, int b){
return a > b;
}
int main(){
// 可以直接 {a, b, c, d, ...} 去初始化列表容器
// 等价 cout << max(max(3, 1), 2) << endl;
cout << max({3, 1, 2}) << endl; // 3
cout << max({3, 1, 2}, comp) << endl; // 1
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。