我见过很多关于在数组中查找指定元素位置的主题,但我无法将它们的解决方案应用到我的问题或找到合适的解决方案。
我有一个锯齿状的阵列:
double[][][] _distance = new double[_mapSize][_mapSize][1];
//incorrect, but for clarifying array's structure
我需要得到最小元素的索引。
如果
_distance[2][5][0]
是最低的,我需要得到“2”和“5”
提前谢谢!
最佳答案
尝试以下操作
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);