拓扑排序是图论中的一种排序方式,用于对有向无环图 (DAG) 中的顶点进行排序。
在 C 语言中,可以使用邻接表来存储图的数据结构,然后使用入度数组记录每个顶点的入度数,再利用队列实现拓扑排序。
下面是一个简单的实现示例:
#include<stdio.h>
#include<stdlib.h>
#define MAX_VERTEX_NUM 20
int vertex_num, edge_num;
int in_degree[MAX_VERTEX_NUM];
int queue[MAX_VERTEX_NUM];
int head[MAX_VERTEX_NUM], tail;