GFG_direct.java 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // Java Program to Implement the Directed Graph
  2. // Using Linked List
  3. // Importing standard classes from respectively packages
  4. import java.io.*;
  5. import java.util.*;
  6. // Main class
  7. class GFG_direct {
  8. // Method 1
  9. // To make pair of nodes
  10. static void
  11. addEdge(LinkedList<LinkedList<Integer> > Adj, int u,
  12. int v)
  13. {
  14. // Creating unidirectional vertex
  15. Adj.get(u).add(v);
  16. }
  17. // Method 2
  18. // To print the adjacency List
  19. static void
  20. printadjacencylist(LinkedList<LinkedList<Integer> > adj)
  21. {
  22. for (int i = 0; i < adj.size(); ++i) {
  23. // Printing the head
  24. if (adj.get(i).size() != 0) {
  25. System.out.print(i + "->");
  26. for (int v : adj.get(i)) {
  27. // Printing the nodes
  28. System.out.print(v + " ");
  29. }
  30. // A new line is needed
  31. System.out.println();
  32. }
  33. }
  34. }
  35. // Method 3
  36. // Main driver method
  37. public static void main(String[] args)
  38. {
  39. // Creating vertex
  40. int V = 5;
  41. LinkedList<LinkedList<Integer> > adj
  42. = new LinkedList<LinkedList<Integer> >();
  43. for (int i = 0; i < V; ++i) {
  44. adj.add(new LinkedList<Integer>());
  45. }
  46. // Inserting nodes
  47. // Custom input elements
  48. addEdge(adj, 0, 1);
  49. addEdge(adj, 0, 4);
  50. addEdge(adj, 1, 2);
  51. // Printing adjacency List
  52. printadjacencylist(adj);
  53. }
  54. }