2012-04-07 24 views
1

配列内の指定された要素の位置を見つけることに関する多くのトピックを見てきましたが、私の解決策を問題に適用したり、適切なものを見つけることができません。配列内の最小要素の位置を見つける

私はジャグ配列があります。

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

をそして私は最小の要素のインデックスを取得する必要があります。

_distance[2][5][0] 

は最小であれば、私は事前に

おかげで "2" を取得する必要がありますし、 "5"!

答えて

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); 
+1

1を試してみてください。効率的ではありませんが、それが彼が探しているものなら、これを達成する良い方法はありません。 – Neil

+0

私はもっと良い解決策があると思っていましたが、これは受け入れられます。ありがとうございました! – ieaglle

関連する問題