だから私はこのような二部グラフのエッジの入力に取る必要があります。Javaでリンクリストの配列を作成するにはどうすればよいですか?
6
1 3
1 2
1 5
2 7
2 4
2 9
最初の数は辺の数です。その後、エッジがリストされます。例えば、頂点1に複数の異なる辺があり、1が何に接続されているかを把握したいのですが、グラフの各頂点には接続されている頂点のリストがあります。リンクされたリストの配列を作成するが、私はそれをどうすればよいか分からない。試しました
LinkedList<Integer>[] vertex = new LinkedList[5];
int i = 0, m = 6;
while(i!=m){
int temp = sc.nextInt();
int temp2 = sc.nextInt();
vertex[temp].add(temp2);
i++;
}
しかし、私はaddラインでnullpointerexceptionを取得します。
要素は配列内で初期化されておらず、配列自体は初期化されていません。 –
'Vertex'、' Edge'のようなクラスを作成すると思いましたか? 'List'を 'Graph'と呼ばれる別のクラスに持っていますか? –
また、配列は0ベースのインデックスを使用します。つまり、サイズが5の配列はインデックスが0〜4です。 –