Advertisement
Guest User

Graph Eulerian Detector

a guest
Dec 27th, 2017
434
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.22 KB | None | 0 0
  1. package euleriancircuits;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Iterator;
  5. import java.util.List;
  6.  
  7. public class Graph {
  8.     private int vCount;
  9.     private List<Integer>[] adj;
  10.    
  11.     public int getvCount() {
  12.         return vCount;
  13.     }
  14.  
  15.     public Graph(int vCount) {
  16.         this.vCount = vCount;
  17.         adj = (List<Integer>[]) new List[vCount];
  18.         for (int i = 0; i < vCount; i++)
  19.             adj[i] = new ArrayList<Integer>();
  20.     }
  21.  
  22.     public void addEdge(int i, int j) {
  23.         adj[i].add(j);
  24.         adj[j].add(i);
  25.     }
  26.  
  27.     public void removeEdge(int i, int j) {
  28.         Iterator<Integer> it = adj[i].iterator();
  29.         while (it.hasNext()) {
  30.             if (it.next() == j) {
  31.                 it.remove();
  32.                 break;
  33.             }
  34.         }
  35.         Iterator<Integer> it2 = adj[j].iterator();
  36.         while (it.hasNext()) {
  37.             if (it.next() == i) {
  38.                 it.remove();
  39.                 return;
  40.             }
  41.         }
  42.     }
  43.  
  44.     public boolean hasEdge(int i, int j) {
  45.         return adj[i].contains(j);
  46.     }
  47.  
  48.     public List<Integer> neighbours(int vertex) {
  49.         return adj[vertex];
  50.     }
  51.  
  52.     public void printGraph() {
  53.         for (int i = 0; i < vCount; i++) {
  54.             List<Integer> edges = neighbours(i);
  55.             System.out.print(i + ": ");
  56.             for (int j = 0; j < edges.size(); j++) {
  57.                 System.out.print(edges.get(j) + " ");
  58.             }
  59.             System.out.println();
  60.         }
  61.     }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement