nkb29597

Topological Order

Oct 22nd, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.80 KB | None | 0 0
  1. #include <stdio.h>
  2. #include<conio.h>
  3. #define n 4
  4. void main()
  5. {
  6.     int i,j,v,g[n][n],indeg[n],visited[n],count=0;
  7.     printf("Enter the adjacency matrix:\n");
  8.     for(i=0;i<n;i++)
  9.         for(j=0;j<n;j++)
  10.             scanf("%d", &g[i][j]);
  11.     for(i=0;i<n;i++)
  12.     {
  13.         indeg[i]=0;
  14.         visited[i]=0;
  15.     }
  16.     for(i=0;i<n;i++)
  17.         for(j=0;j<n;j++)
  18.             indeg[i]=indeg[i]+g[j][i];
  19.     printf("\nThe topological order is:");
  20.     while(count<n)
  21.     {
  22.         for(v=0;v<n;v++)
  23.         {
  24.             if((indeg[v]==0) && (visited[v]==0))
  25.             {
  26.                 printf("%d ",v);
  27.                 visited[v]=1;
  28.             }
  29.             for(i=0;i<n;i++)
  30.                 if(g[i][v]==1)
  31.                     indeg[v]--;
  32.         }
  33.         count++;
  34.     }
  35.     getch();
  36. }
Advertisement
Add Comment
Please, Sign In to add comment