import java.util.ArrayList; public class Graph { private ArrayList nodes; private ArrayList edges; public Graph(){ this.nodes = new ArrayList (); this.edges = new ArrayList(); } public void addNode(Node n) { this.nodes.add(n); } public void addNode(int nr){ this.nodes.add(new Node(nr)); } public void addEdge(Edge e){ this.edges.add(e); e.getAnfang().addEdge(e); e.getEnde().addEdge(e); } public void addEdge(int a, int e, int w, boolean g){ Node an = null; Node en = null; for (int i = 0; i < this.nodes.size(); i++){ if (this.nodes.get(i).getNumber() == a){ an = this.nodes.get(i); } if (this.nodes.get(i).getNumber()== e){ en = this.nodes.get(i); } } if (an == null || en == null){ return; } this.addEdge(new Edge(an, en, w, g)); } public Node getNode(int nr){ for (Node n : this.nodes){ if (n.getNumber() == nr){ return n; } } return null; } }