在二维数组中查找每列中的最大元素

时间:2017-12-10 15:02:22

标签: c++ arrays multidimensional-array max min

为了在二维矩阵[n] [m]中找到第i行中的最大元素,这是有效的

    int t= *max_element(matrix[i],matrix[i]+m);

但我没有得到如何以相同的方式在第i列中找到max元素。

1 个答案:

答案 0 :(得分:0)

std::max_element适用于行的原因很简单:算法接受转发迭代器来指定范围,因此也可以传递指针:指针指向第一个元素在行中,指针指向最后一个。行中的元素在内存中形成一个连续的块,因此使用指针的方法效果很好。

另一方面,没有办法对列元素使用std::max_element的方式与列元素在内存中不形成连续块的方式相同。

最自然的方式就是编写一个简单的循环而不使用STL算法。