1

我已经看到很多关于在数组中查找指定元素的位置的主题,但我无法将他们的解决方案应用于我的问题或找到合适的解决方案。

我有一个锯齿状数组:

double[][][] _distance = new double[_mapSize][_mapSize][1]; 
//incorrect, but for clarifying array's structure 

我需要获取最小元素的索引。

如果

_distance[2][5][0]

是最小值,我需要得到“2”和“5”

提前致谢!

4

1 回答 1

2

尝试以下

Tuple<int, int, int> minimumIndex = null;
double minimumValue = Double.Max;

for (var i = 0; i < _mapSize; i++) {
  for (var j = 0; j < _mapSize; j++) {
    for (var k = 0; k < _lastDimension; k++) {
      var current = _distance[i][j][k];
      if (current <= minimumValue) {
        minimumValue = current;
        minimumIndex = Tuple.Create(i, j, k);
      }
    }
  }
}

Console.WriteLine("{0} {1} {2}", minimumIndex.Item1, minimumIndex.Item2, minimumIndex.Item3);
于 2012-04-07T18:23:07.110 回答