//-*-C++-*- import jdsl.core.ref.SILGraph; import jdsl.core.api.Vertex; import jdsl.core.api.Edge; import jdsl.core.api.Position; import java.util.Enumeration; import java.applet.*; import java.awt.*; public class Test2 { public static void main(String[] args) throws Exception { SILGraph G = new SILGraph(); Vertex A = G.insertVertex(new VertexInfo("A",0,1)); Vertex B = G.insertVertex(new VertexInfo("B",1,1)); Vertex C = G.insertVertex(new VertexInfo("C",1,0)); Vertex D = G.insertVertex(new VertexInfo("D",0,0)); Edge AB = G.insertEdge(A,B,new EdgeInfo(A,B)); Edge AC = G.insertEdge(A,C,new EdgeInfo(A,C)); Edge AD = G.insertEdge(A,D,new EdgeInfo(A,D)); Edge BC = G.insertEdge(B,C,new EdgeInfo(B,C)); System.out.println("G.size()=" + G.size()); Position P = (Position)A; VertexInfo PA = (VertexInfo)P.element(); System.out.println(PA.getName() +" "+ PA.getX() +" "+ PA.getY()); Enumeration E; Vertex v; Edge e; E = G.vertices(); while (E.hasMoreElements()){ v = (Vertex)(E.nextElement()); System.out.println(v +" "+ G.degree(v)); } E = G.edges(); while (E.hasMoreElements()){ e = (Edge)(E.nextElement()); System.out.println(e +" "+ G.endVertices(e)[0] +" "+ G.endVertices(e)[1]); } System.out.println("******** G.removeVertex(A) *********"); System.out.println("******** G.insertEdge(D,B) *********"); G.removeVertex(A); G.insertEdge(D,B,new EdgeInfo(D,B)); System.out.println("G.size()=" + G.size()); E = G.vertices(); while (E.hasMoreElements()){ v = (Vertex)(E.nextElement()); System.out.println(v +" "+ G.degree(v)); } E = G.edges(); while (E.hasMoreElements()){ e = (Edge)(E.nextElement()); System.out.println(e +" "+ G.endVertices(e)[0] +" "+ G.endVertices(e)[1]); } } }