C++:最大值最小值及其索引
std::max_element和std::min_element
是 C++ 标准库 <algorithm>
中的函数,可以得到数组和向量(vector)的最值及其索引
int card[6]={1,2,3,4,5,6}
int maxValue = *max_element(card.begin(),card.end());
int minValue = *min_element(card.begin(),card.end());
int maxPosition = max_element(card,card+6) - card;
int minPosition = min_element(card,card+6) - card;
vector<int> card;
int maxValue = *max_element(card.begin(),card.end());
int minValue = *min_element(card.begin(),card.end());
int maxPosition = max_element(card.begin(),card.end()) - card.begin();
int minPosition = min_element(card.begin(),card.end()) - card.begin();
函数的参数是搜索范围,如上面代码里的是从起始到结尾,函数的返回值是获取最值的地址。
由于数组和向量在内存中的地址是连续的,所以可以通过得到地址减去起始地址得到相对地址,也就是在数组(向量)中的索引。
而对地址的取值也就是得到对应最值