using
System;
using
System.Collections.Generic;
class
GFG{
static
void
insert(List<
int
> []adj,
int
u,
int
v)
{
adj[u].Add(v);
return
;
}
static
void
printList(List<
int
> []adj,
int
V)
{
for
(
int
i = 0; i < V; i++)
{
Console.Write(i);
foreach
(
int
j
in
adj[i])
Console.Write(
" --> "
+ j);
Console.WriteLine();
}
Console.WriteLine();
}
static
int
[,] convert(List<
int
> []adj,
int
V)
{
int
[,]matrix =
new
int
[V, V];
for
(
int
i = 0; i < V; i++)
{
foreach
(
int
j
in
adj[i])
matrix[i, j] = 1;
}
return
matrix;
}
static
void
printMatrix(
int
[,] adj,
int
V)
{
for
(
int
i = 0; i < V; i++)
{
for
(
int
j = 0; j < V; j++)
{
Console.Write(adj[i, j] +
" "
);
}
Console.WriteLine();
}
Console.WriteLine();
}
public
static
void
Main(String[] args)
{
int
V = 5;
List<
int
> []adjList =
new
List<
int
>[V];
for
(
int
i = 0; i < adjList.Length; i++)
adjList[i] =
new
List<
int
>();
insert(adjList, 0, 1);
insert(adjList, 0, 4);
insert(adjList, 1, 0);
insert(adjList, 1, 2);
insert(adjList, 1, 3);
insert(adjList, 1, 4);
insert(adjList, 2, 1);
insert(adjList, 2, 3);
insert(adjList, 3, 1);
insert(adjList, 3, 2);
insert(adjList, 3, 4);
insert(adjList, 4, 0);
insert(adjList, 4, 1);
insert(adjList, 4, 3);
Console.Write(
"Adjacency List: \n"
);
printList(adjList, V);
int
[,] adjMatrix = convert(adjList, V);
Console.Write(
"Adjacency Matrix: \n"
);
printMatrix(adjMatrix, V);
}
}