在数组中查找最小元素的位置

时间:2012-04-07 18:18:06

标签: c# algorithm search

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

我有一个锯齿状阵列:

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

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

如果

_distance[2][5][0]

是最低限度,我需要得到“2”和“5”

提前致谢!

1 个答案:

答案 0 :(得分: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);