我这个写的很简单,对于G=(V,E),各个顶点是以从1~V的连续数字来表示的,存数邻接表采用的是一个2维数组:
import java.util.*;
public class test {
public static void main(String [] args) {
// 以邻接表数组初始化有向图
digraph dg = new digraph(
new int[]{1,2,3},
new int[]{2,3},
new int[]{3,4},
new int[]{4,2,5},
new int[]{5,2}
);
dg.adjListPresent();
dg.adjMatrixPresent();
System.out.println("Edges: " + dg.getEdges());
System.out.print("In-Degree:\t");
for(int t : dg.getAdjHeads()) // 输出每个顶点的入度
System.out.print(t + "=" + dg.getInDegree(t) + " ");
System.out.println();
System.out.print("Out-Degree:\t");
for(int t : dg.getAdjHeads()) // 输出每个顶点的出度
System.out.print(t + "=" + dg.getOutDegree(t) + " ");
Sys