public Graph(Cons lst) { // System.out.println("Entering Graph()"); // for (Cons ptr = lst; ptr != null; ptr = Cons.rest(ptr) ) { // if ( Cons.first(ptr) != null ) // System.out.println(Cons.first(ptr).toString()); } vertices = new TreeMap<String, Vertex>(); // put all vertices in first for (Cons ptr = lst; ptr != null; ptr = Cons.rest(ptr)) { Cons item = (Cons) Cons.first(ptr); // System.out.println("item = " + item.toString()); Vertex node = vert((String) Cons.first(item), (Double) Cons.second(item), (Double) Cons.third(item)); } for (Cons ptr = lst; ptr != null; ptr = Cons.rest(ptr)) { Cons item = (Cons) Cons.first(ptr); // System.out.println("item = " + item.toString()); Cons conns = (Cons) Cons.fourth(item); Vertex node = vertices.get((String) Cons.first(item)); for (; conns != null; conns = Cons.rest(conns)) { Cons conn = (Cons) Cons.first(conns); // System.out.println("conn = " + conn.toString()); Vertex target = vertices.get((String) Cons.first(conn)); node.add(target, (Integer) Cons.second(conn)); target.add(node, (Integer) Cons.second(conn)); } } }