Toriyung

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

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();
复制代码

 

函数的参数是搜索范围,如上面代码里的是从起始到结尾,函数的返回值是获取最值的地址。

由于数组和向量在内存中的地址是连续的,所以可以通过得到地址减去起始地址得到相对地址,也就是在数组(向量)中的索引。

而对地址的取值也就是得到对应最值

posted on   Toriyung  阅读(465)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示