Java で 2D 整数配列 (ArrayList ではない) の内容をソートする際に問題があります。私の問題配列path_info[ ][ ]
は次のようになります。
Node_x Node_y Path_ID Port_x Port_y
4 6 500 3 2
6 8 500 3 2
4 9 501 2 3
9 3 501 2 2
2 3 502 3 2
1 5 503 2 3
5 2 503 2 2
各行は、Port_x から Port_y までの Path_ID 上の node_x から node_y を意味します。各パスは、テーブル内の 1 つ以上の行になる場合があることに注意してください。
この配列は、無向重み付けなしグラフのノード 8 からノード 1 に到達するためのルーティング アルゴリズムの結果の配列です。
送信元ノードから宛先ノードに到達すること。たとえば、テーブルのノード 8 からノード 1 の場合、path_ID は 500、501、502、および 503 です (PATH_ID は列 で既にソートされていますPath_ID
)。問題は、ソース ノードが列 "Node_x" の最初のノードであり、宛先ノードが列 "Node_y" の最後のノードになるように、この配列を並べ替えたいことです。そして、すべての中間の行と列が適切にソートされました。
結果の配列は次のようになります (ソース ノードが 8 で宛先ノードが 1 の場合)。
Node_x Node_y Path_ID Port_x Port_y
8 6 500 2 3
6 4 500 2 3
4 9 501 2 3
9 3 501 2 2
3 2 502 2 3
2 5 503 2 2
5 1 503 3 2
まだコードを書き始めていないので、貼り付けるスニペットがありません。私はまだこれを達成する方法を理解しようとしています。誰か助けてくれませんか?