gpt4 book ai didi

C++ 在 2D std::vector 中找到最大值的位置

转载 作者:行者123 更新时间:2023-11-30 02:02:42 25 4
gpt4 key购买 nike

假设我们有 int 的 2D vector ,例如:

1   4   3   0
1 5 6 3
2 0 0 1
6 5 9* 3
3 5 4 2

现在如何找到二维 vector 中最大值的位置:上面示例中的 [2][3]==9。答案是 2,3

我知道我可以使用 std::max_element() 但它提供了迭代器。

还有一点,我不想先找到最大值,然后使用 std::find() 方法找到它的位置。(因为它效率不高)

事实上,我如何定义自定义比较函数来通过单次迭代完成此任务。

非常感谢。

最佳答案

int Array[4][4] = { {2, 3, 4, 6}, {1, 98, 8, 22}, {12, 65, 1, 3}, {1, 7, 2, 12}};

struct location
{
int x;
int y;
};

int main()
{
int temp = 0;
location l;

for(int i = 0; i < 4; i++)
for(int j = 0; j< 4; j++)
if(temp < Array[i][j])
{
temp = Array[i][j];
l.x = i+ 1;
l.y = j+ 1;
}

cout<<"Maximum Value is "<<temp<<" And is found at ("<<l.x<<","<<l.y<<")";
system("pause");
}

关于C++ 在 2D std::vector 中找到最大值的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12865971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com