一、int型,double型等最大最小值:
int型最大最小值:
包含在头文件<limits>或者<limits.h>中
#include<limits>
INT_MAX //int型最大值,即2147483647
INT_MIN //int型最小值,即-2147483648
也可以不用头文件,自己用宏定义
#define INT_MAX 0x7fffffff
#define INT_MIN 0x80000000
double型、float型等最大最小值:
包含在头文件<limits>或者<limits.h>中
下述表示方法当然也可以改成int型,float型等其他类型的。
#include<limits>
numeric_limits<double>::max() //double型最大值
numeric_limits<double>::min() //double型最小值
也可以用<float.h>头文件,进行如下表示
#include<float.h>
DBL_MAX //double型最大值
DBL_MIN //double型最小值
FLT_MAX //float型最大值
FLT_MIN //float型最小值
二、求数组中的最大最小值
C++本身没有提供像java、python一样的用类似max()这样的简单函数求数组最大最小值的方法。
仅对于两个数求最大最小值
int a=b=0; //也可以改成double、float等类型
max(a,b)
min(a,b)
对数组求最大最小值,及它们的下标。
//对于普通数组
a[] = {1,2,3,4,5,6};
int maxValue = *max_element(a, a+6); //最大值
int minValue = *min_element(a, a+6); //最小值
int maxPosition = max_element(a,a+6) - a; //最大值下标
int minPosition = min_element(a,a+6) - a; //最小值下标
//对于vector容器
vector<int> v;
int max = *max_element(v.begin(), v.end()); //最大值
int min = *min_element(v.begin(), v.end()); //最小值
int maxPosition = max_element(v.begin(),v.end()) - v.begin(); //最大值下标
int minPosition = min_element(v.begin(),v.end()) - v.begin(); //最小值下标