当前位置 : 主页 > 手机开发 > harmonyos >

邻接矩阵 BFS

来源:互联网 收集:自由互联 发布时间:2023-08-26
#includestdio.h #includequeue #includestdlib.h #includestring.h #includemath.h #includeiostream #includealgorithm using namespace std; const int sizen=10000; int Map[sizen][sizen]; bool mark[sizen]; void BFS(int x,int n) { int i; int t; que
#include<stdio.h> 

 #include<queue> 

 #include<stdlib.h> 

 #include<string.h> 

 #include<math.h> 

 #include<iostream> 

 #include<algorithm> 

 using namespace std; 



 const int sizen=10000; 

 int Map[sizen][sizen]; 

 bool mark[sizen]; 



 void BFS(int x,int n) 

 { 

     int i; 

     int t; 

     queue<int>p; 

     printf("%d\n",x); 

     mark[x]=true; 

     p.push(x); 

     while(p.size()) 

     { 

         t=p.front(); 

         p.pop(); 

         for(i=1;i<=n;i++) 

             if(!mark[i]&&Map[t][i]) 

             { 

                 printf("%d\n",i); 

                 mark[i]=true; 

                 p.push(i); 

             } 

     } 

 } 



 int main() 

 { 

     int V,E; 

     int x,y; 

     int i; 

     while(scanf("%d%d",&V,&E)!=EOF) 

     { 

         memset(mark,false,sizeof(mark)); 

         memset(Map,0,sizeof(Map)); 

         while(E--) 

         { 

             scanf("%d%d",&x,&y); 

             Map[x][y]=Map[y][x]=1; 

         } 

         for(i=1;i<=V;i++) 

             if(!mark[i]) 

                 BFS(i,V); 

     } 

     return 0; 

 }
【文章原创作者:防ddos攻击 http://www.558idc.com/shsgf.html 复制请保留原URL】
上一篇:hdu 1556 简单线段树
下一篇:没有了
网友评论