查找2D数组中数字的索引

时间:2013-06-14 23:46:27

标签: arrays sorting indexing

那么如果找到特定行中数字的索引,我会尝试做什么。我找到了min,我需要做的就是找到特定行中数字的索引。

我将值3和数组cityDis传递给closestCity(int, int [][])方法。

我知道第3行的最小值是80(忽略0)。现在我需要的是一种在行3

中找到80的索引的方法

有没有办法做到这一点?

int [][] cityDis = { {0, 10, 50, 100,}, {10, 0, 20, 80}, {50, 20, 0, 90,}, {100, 80, 90, 0} };

public int closestCity(int city, int arr [][])
{
        int min = Integer.MAX_VALUE;
        for ( int j = 0; j < arr[city].length; j++ )    //finds the min (disregarding 0)
            if ( (arr[city][j] < min) && (arr[city][j] != 0) )
                min = arr[city][j];
        for ( int j = 0; j < arr[city].length; j++ )
            if ( arr[city][j] = min )
                //this is where i get confused. I just want to find the index for just one row.
        return 0;
}

2 个答案:

答案 0 :(得分:1)

return j;

代替您的评论。应该这样做。

“j”的值是您正在寻找的索引!当你返回时,你已经完成了!

答案 1 :(得分:1)

您的索引是您的数组参数,因此,city和j是您的索引

好的,你可以做以下的事情:

if(arr[city][j] == min) 
    int rowindex = j;
    int colindex = city;