Csharp program for Construct adjacency list by using adjacency matrix. Here problem description and explanation.

``````// Include namespace system
using System;
using System.Collections.Generic;
/*
Csharp program for
*/
public class Graph
{
public int vertices;
public List < List < int >> adgeList;
public Graph(int[, ] matrix)
{
// Set number of nodes
this.vertices = matrix.GetLength(0);
this.adgeList = new List < List < int >> ();
// Create memory of adgeList of each vertice
for (var i = 0; i < this.vertices; ++i)
{
}
}
{
for (var i = 0; i < this.vertices; ++i)
{
for (var j = 0; j < this.vertices; ++j)
{
if (matrix[i, j] == 1)
{
}
}
}
}
public void addEdge(int u, int v)
{
if (u < 0 || u >= this.vertices ||
v < 0 || v >= this.vertices)
{
return;
}
}
// Display graph nodes and edges
public void printGraph()
{
for (var i = 0; i < this.vertices; ++i)
{
Console.Write(" \n [" + i.ToString() + "] :");
// iterate edges of i node
for (var j = 0; j < this.adgeList[i].Count; j++)
{
if (j != 0)
{
Console.Write(" → ");
}
}
}
}
public static void Main(String[] args)
{
int[, ] matrix = {
{
0 , 1 , 1 , 0 , 1
},
{
1 , 0 , 1 , 0 , 1
},
{
1 , 1 , 0 , 1 , 0
},
{
0 , 1 , 0 , 0 , 1
},
{
1 , 1 , 0 , 1 , 0
}
};
var g = new Graph(matrix);
// Display graph element
g.printGraph();
}
}``````

Output

`````` Graph Adjacency List
[0] : 1 →  2 →  4
[1] : 0 →  2 →  4
[2] : 0 →  1 →  3
[3] : 1 →  4
[4] : 0 →  1 →  3``````

## Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.