[英]maximum and minimum value?
I have made a matrix using vector and iterator, how can I find maximum and minimum value from it. 我使用向量和迭代器制作了一个矩阵,如何从中找到最大值和最小值。 It is something like: 就像这样:
vector<int> > matrixes(10);
typedef std::vector<std::vector<int> >::iterator it;
it rows = matrixes.begin();
if (rows->size() == 10)
++rows;
rows->push_back(res);
}
for(size_t q=0; q < matrixes.size(); ++q)
{
for(size_t r=0; q < matrixes[q].size(); ++r)
cout << matrixes[q][r] << " ";
cout << endl;
}
I want to find maximum and minimum value through it, how is it possible? 我想通过它找到最大值和最小值,这怎么可能?
在STL中使用std :: max_element和std :: min_element 。
If you have an std::vector, you can do 如果您有std :: vector,则可以
std::vector<int> my_vector;
//Populate vector
int max = std::max_element( my_vector.begin(), my_vector.end() );
See the reference . 请参阅参考资料 。
Just add two variables to hold the maximum and minimum value. 只需添加两个变量即可保存最大值和最小值。 Update the portion where you display it. 更新显示它的部分。
vector<int> > matrixes(10);
typedef std::vector<std::vector<int> >::iterator it;
it rows = matrixes.begin();
int maxVal,minVal;
if ( matrixes.size() > 0 && matrixes[0].size() > 0 )
maxVal = minVal = matrixes[0][0];
for(size_t q=0; q < matrixes.size(); ++q)
{
for(size_t r=0; q < matrixes[q].size(); ++r)
{
cout << matrixes[q][r] << " ";
cout << endl;
// update min, max here
maxVal= maxVal<matrixes[q][r]?matrixes[q][r]:maxVal;
minVal= minVal>matrixes[q][r]?matrixes[q][r]:minVal;
}
}
std::sort( matrixes.begin(), matrixes.end() );
向量中的第一个元素最少,最后一个元素最大。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.