⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toposort.cpp

📁 图论的一些常用代码
💻 CPP
字号:
/* *功能:拓扑排序,邻接矩阵表示 *参数:传入图的大小n和邻接阵mat,不相邻点边权为0 *返回:无法完成排序返回0,否则返回1,ret返回有序点列 */#define MAXN 100int toposort(int n,int mat[][MAXN],int*ret){    int d[MAXN],i,j,k;    //计算每个顶点的入度    for (i=0;i<n;i++)        for (d[i]=j=0;j<n;d[i] += mat[j++][i]);    for (k=0;k<n;ret[k++]=i)    {        //寻找入度为0的顶点        for (i=0;d[i]&&i<n;i++);        if (i==n)   //没找到            return 0;        //找到后标记为-1,表示访问过        for (d[i]=-1,j=0;j<n;j++)            d[j]-=mat[i][j];    //删除这个顶点    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -