GraphJun2026

Run Settings
LanguageJava
Language Version
Run Command
import java.util.*; class Graph { private Map<Integer, ArrayList<Integer>> adjacencyList ; public Graph(){ adjacencyList = new HashMap<Integer, ArrayList<Integer>>(); } public void addVertex(int node){ if (adjacencyList.containsKey(node)){ System.out.println("The vertext is already registered."); return; } adjacencyList.put(node, null); } public void addEdge(int node, int edge){ if (!adjacencyList.containsKey(node)){ System.out.println("The vertex does not exist"); return; } ArrayList<Integer> edgesList= adjacencyList.get(node); if (edgesList== null){ edgesList = new ArrayList<Integer>(); adjacencyList.put(node, edgesList); } if (!containsEdge(edgesList, edge)){ edgesList.add(edge); } ArrayList<Integer> transitiveEdgesList= adjacencyList.get(edge); if (transitiveEdgesList== null){ transitiveEdgesList = new ArrayList<Integer>(); adjacencyList.put(edge, transitiveEdgesList); } if (!containsEdge(transitiveEdgesList, node)){ transitiveEdgesList.add(node); } } public boolean containsEdge(ArrayList<Integer> edgesList, int edgeToCheck){ for (Integer currentEdge: edgesList){ if (currentEdge == edgeToCheck){ return true; } } return false; } public void showConnections(){ Set<Map.Entry<Integer, ArrayList<Integer>>> vertexEdges = adjacencyList.entrySet(); for (Map.Entry<Integer, ArrayList<Integer>> entry : vertexEdges){ ArrayList<Integer> edges = entry.getValue(); String connections = ""; for (int i=0; i < edges.size(); i++){ connections+= " "+ edges.get(i); } System.out.println("Node: "+ entry.getKey()+"-->"+ connections); } } } class Main { public static void main(String[] args) { Graph myGraph = new Graph(); myGraph.addVertex(0); myGraph.addVertex(1); myGraph.addVertex(2); myGraph.addVertex(3); myGraph.addVertex(4); myGraph.addVertex(5); myGraph.addVertex(6); myGraph.addEdge(3,1); myGraph.addEdge(3,4); myGraph.addEdge(4,2); myGraph.addEdge(4,5); myGraph.addEdge(1,2); myGraph.addEdge(1,0); myGraph.addEdge(0,2); myGraph.addEdge(6,5); myGraph.showConnections(); } }
Editor Settings
Theme
Key bindings
Full width
Lines