2D整数配列から1D整数配列を推測できるJavaコードを書き込もうとしています。私の2D配列は次のようになります。
Node1 Node2 Path
6 8 501
2 6 500
8 10 505
2 4 502
そして、私の仕事は次のとおりです。最初の列の要素(ノード1)から2番目の列の要素(ノード2)への「パス」を見つけたいと思います。私はこれらのようなものを意味します:
「2」から「8」へのパス500 501
はこの順序になります。そして、「2」から「4」へのパスは次のようになります502
(500
「6」で終了するためではありません)
私は単純なforループで反復することによってこれを達成しようとしてきましたが、苦労してきました。誰かが私にこれを解決する方法を教えてもらえますか?
私が達成しようとしているコードスニペットは次のとおりです。
PathSequence:
for(int i = 0; i < PathGraphRow; i++){
if(PathGraph[i][0] == source){
if(i==0)
{
nextNode = PathGraph[i][1];
resultantPaths[counter] = PathGraph[i][2];
prev = lightPathGraph[i][2];
if(nextNode == dest){
break PathSequence;
}
counter++;
}else if(i > 0 && prev != PathGraph[i][2])
{
nextNode = PathGraph[i][1];
resultantPaths[counter] = PathGraph[i][2];
prev = PathGraph[i][2];
if(nextNode == dest){
break PathSequence;
}
counter++;
}
}
if(nextNode == PathGraph[i][0] && prev != PathGraph[i][2]){
nextNode = PathGraph[i][1];
resultantPaths[counter] = PathGraph[i][2];
prev = PathGraph[i][2];
if(nextNode == dest){
break PathSequence;
}
counter++;
}
if(i == PathGraphRow-1 && PathGraph[i][2] != resultantPaths[counter]){
if(PathGraph[i][1] != dest){
resultantPaths = new int[PathCount];
}
}
}
}
ありがとうございました。
よろしく