#include<stdio.h> //Topological Sort(利用小顶堆使同等条件下,编号小的顶点在前)
#include<string.h>
#include<stdlib.h>
#define MAX 100 //最大的顶点个数
typedef struct arc
{
int index;
struct arc *next;
}Arc;
typedef struct graph
{
int vexnum, arcnum;
Arc List[MAX];
}Graph;
void initial_graph(Graph *G)
{
int Vexnum, Arcnum, i;
scanf("%d%d", &Vexnum, &Arcnum);
G->vexnum = Vexnum;
G->arcnum = Arcnum;
for (i = 1; i <= G->vexnum; i++)
{
G->List[i].index = i;
G->List[i].next = NULL;
}
}
void create_graph(Graph *G)
{
int i, j, k;
Arc *p;
initial_graph(G);
for (k = 1; k <= (G->arcnum); k++)
{
scanf("%d", &i);
scanf("%d", &j);
p = (Arc *)malloc(sizeof(Arc));
p->index = j;
p->ne
DSOJ Topological Sort(拓扑排序)
最新推荐文章于 2021-11-19 16:35:55 发布