所以我需要像这样输入一个二分图的边:
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++; }
但是我在加法行得到一个nullpointerexception.
解决方法
LinkedList<Integer>[] vertex = new LinkedList[5]; int i = 0,m = 6; while(i!=m){ int temp = sc.nextInt(); int temp2 = sc.nextInt(); // Make sure the list is initialized before adding to it if (vertex[temp] == null) { vertex[temp] = new LinkedList<Integer>(); } vertex[temp].add(temp2); i++; }