【发布时间】:2013-12-10 18:12:22
【问题描述】:
所以我需要像这样输入二分图的边:
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++;
}
但是我在添加行得到了一个空指针异常。
【问题讨论】:
-
你还没有初始化数组中的元素,只有数组本身。
-
您是否想过创建像 -
Vertex、Edge这样的类?并且在另一个名为Graph的类中有一个List<Edge>? -
另外,数组使用从 0 开始的索引,这意味着大小为 5 的数组的索引为
0...4。
标签: java graph linked-list