|
Message
From: cvs at opencores.org<cvs@o...>
Date: Mon May 29 21:59:58 CEST 2006
Subject: [cvs-checkins] MODIFIED: jop ...
Date: 00/06/05 29:21:59 Added: jop/java/tools/src/com/jopdesign/util Graph.java Vertex.java Log: Start with graph utilities Revision Changes Path 1.1 jop/java/tools/src/com/jopdesign/util/Graph.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/com/jopdesign/util/Graph.java?rev=1.1&content-type=text/x-cvsweb-markup Index: Graph.java =================================================================== package com.jopdesign.util; import java.util.*; /** * Utility class for manipulation of graphs * TODO: find a library that does exactly this and * is not too big. * @author martin, rasmus * */ public class Graph { HashMap vmap = new HashMap(); public Vertex addVertex(Object data) { Vertex v = new Vertex(data); vmap.put(data, v); return v; } public Vertex findVertex(Object data) { return (Vertex) vmap.get(data); } public void addEdge(Vertex from, Vertex to) { from.succ.add(to); to.pred.add(from); } /** * Generate dot graph * * @return */ public String printGraph() { StringBuffer sb = new StringBuffer(); sb.append("digraph G {\n"); sb.append("size = \"10,7.5\"\n"); Iterator iter = vmap.entrySet().iterator(); while (iter.hasNext()) { Map.Entry me = (Map.Entry) iter.next(); Vertex v = (Vertex) me.getValue(); for (Iterator eit = v.getSucc().iterator(); eit.hasNext(); ) { Vertex suc = (Vertex) eit.next(); sb.append("\t"+v.toString()+" -> "+suc.toString()+"\n"); } } sb.append("}\n"); return sb.toString(); } } //class Edge { // // public Edge(Vertex f, Vertex t) { // from = f; // to = t; // } // Vertex from; // Vertex to; //} 1.1 jop/java/tools/src/com/jopdesign/util/Vertex.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/com/jopdesign/util/Vertex.java?rev=1.1&content-type=text/x-cvsweb-markup Index: Vertex.java =================================================================== package com.jopdesign.util; import java.util.HashSet; public class Vertex { HashSet succ, pred; Object userData; public Vertex(Object data) { userData = data; succ = new HashSet(); pred = new HashSet();
}
public HashSet getSucc() {
return succ;
}
public String toString() {
return userData.toString();
}
}
|
 |