1. int/float转换为string
std::string text_score = std::to_string(scores[i]);
2. 求数组的最大值,最小值及其索引值
例 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;
---------------------------------------------------
#include<algorithm>
float obj_prob[CLASS_NUM-1];
float max_obj_prob = *std::max_element(obj_prob, obj_prob + 90);
int max_label = std::max_element(obj_prob, obj_prob + 90) - obj_prob;
参考链接: c++求数组最大最小元素的值以及索引位置
3. 求vector的最大值,最小值及其索引值
例 vector<int> vec
最大值:int maxValue = *max_element(v.begin(),v.end());
最小值:int minValue = *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();
-----------------------------------------------------------------------
4. 对vector进行排序,并返回索引值
#include <algorithm>
#include <numeric>
std::vector<float> tmp_max_scores;
std::vector<size_t> max_score_index(tmp_max_scores.size());
std::iota(max_score_index.begin(), max_score_index.end(), 0);
std::sort(max_score_index.begin(), max_score_index.end(), [&tmp_max_scores](size_t a, size_t b) {return (tmp_max_scores[a] > tmp_max_scores[b]);});
for (int i = 0 ; i != max_score_index.size() ; i++)
{
std::cout << max_score_index[i] << ",";
}
参考链接: C++ std::vector 保留索引排序
5. 对vector进行排序,并返回索引值
#include <iostream>
#include <algorithm>
std::vector<float> tmp_max_scores;
std::sort(tmp_max_scores.begin(), tmp_max_scores.end(), std::greater<float>());
for (std::vector<float>::iterator it=tmp_max_scores.begin(); it!=tmp_max_scores.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
参考链接: 数组,vector的sort快速降序方法
6.