Advertisement

1351:【例4-12】家谱树

阅读量:

例4-12

复制代码
 // 示例代码  拓扑排序算法

    
 #include <iostream>
    
 #include <stack>
    
 #include <vector>
    
 using namespace std;
    
  
    
 const int N = 105; // 定义常量 N,表示数组大小
    
 int n, a, c[N], r[N]; // n:图的结点数量,a:当前读入的边的终点序号,c 数组记录每个结点的出度,r 数组记录每个结点的入度
    
 vector<int> vn[N]; // 邻接表,记录每个结点的所有后继结点
    
 stack<int> ans; // 记录拓扑排序的结果,栈顶的元素表示拓扑排序中最先被访问的结点
    
  
    
 int main() {
    
     cin >> n;
    
     for (int i = 1; i <= n; i++) { // 读入图的邻接表,计算每个结点的入度和出度
    
     while (cin >> a) {
    
         if (a == 0) break; // 遇到 0,表示 i 结点的邻接链表读取完毕
    
         vn[i].push_back(a); // 将

全部评论 (0)

还没有任何评论哟~