Code:
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.LinkedList;
import java.util.Scanner;
public class Represent_Graph_Incidence_List
{
private Map
private int v;
public Represent_Graph_Incidence_List(int vertices)
{
v = vertices;
incidenceList = new HashMap
for (int i = 1; i <= v; i++)
incidenceList.put(i, new LinkedList
}
public void setEdge(int to, int from, int edge_number)
{
List
slist.add(edge_number);
List
dlist.add(edge_number);
}
public List
{
return incidenceList.get(vertex);
}
public static void main(String args[])
{
int v, e, count = 1, to, from, edgeNumber;
Scanner sc = new Scanner(System.in);
Represent_Graph_Incidence_List glist;
try
{
System.out.println("Enter the number of vertices: ");
v = sc.nextInt();
System.out.println("Enter the number of edges: ");
e = sc.nextInt();
glist = new Represent_Graph_Incidence_List(v);
System.out
.println("Enter the edges in the graph :
while (count <= e)
{
edgeNumber = sc.nextInt();
to = sc.nextInt();
from = sc.nextInt();
glist.setEdge(to, from, edgeNumber);
count++;
}
System.out
.println("The Incidence List Representation of the graph is: ");
System.out.println("Vertex EdgeNumber");
for (int vertex = 1; vertex <= v; vertex++)
{
System.out.print(vertex + "\t:");
List
for (int j = 1;; j++)
{
if (j != edgeList.size())
System.out.print(edgeList.get(j - 1) + "\t");
else
{
System.out.print(edgeList.get(j - 1));
break;
}
}
System.out.println();
}
}
catch (Exception E)
{
System.out.println("Something went wrong");
}
sc.close();
}
}
Output:
Enter the number of vertices:
5
Enter the number of edges:
5
Enter the edges in the graph :
1 1 2
2 2 4
3 5 4
4 4 3
5 5 1
The Incidence List Representation of the graph is:
Vertex EdgeNumber
1 :1 5
2 :1 2
3 :4
4 :2 3 4
5 :3 5
More Java Programs: