C#实现图的拓扑序列
下面是一个使用C#实现图的拓扑排序的完整示例代码:
using System;
using System.Collections.Generic;
namespace TopologicalSort
{
public class Graph
{
private int V; // 顶点数量
private List<List<int>> adj; // 邻接表
// 构造函数
public Graph(int v)
{
V = v;
adj = new List<List<int>>(v);
for (int i = 0; i < v; ++i)
adj.Add(new List<int>());
}
// 添加有向边
public void AddEdge(int v, int w)
{
adj[v].Add(w);
}
// 拓扑排序的递归函数
private void TopologicalSortUtil(int v, bool[] visited, Stack<int> stack)
{
// 标记当前顶点为已访问
visited[v] = true;