数据结构实验之图论二:基于邻接表的广度优先搜索遍历
2016-08-15 21:23
513 查看
#include<bits/stdc++.h> using namespace std; typedef struct no { int num; struct no *next; }node; node *head[105]; int visit[10000]; void creat(int u,int v) { node *p; p=new node; p->num=v; p->next=head[u]; head[u]=p; } int bfs(int b,int k) { node *p; queue<int> q; q.push(b); visit[b]=1; int flag=1; while(!q.empty()) { int h=q.front(); q.pop(); if(flag) { flag=0; printf("%d",h);} else {printf(" %d",h);} for(p=head[h];p!=NULL;p=p->next) { if(!visit[p->num]) { q.push(p->num); visit[p->num]=1; } } } return 0; } int main() { node *p,*q; int n,k,m,t,i,u,v,jh; scanf("%d",&n); while(n--) { memset(head,NULL,sizeof(node)); memset(visit,0,sizeof(visit)); scanf("%d %d %d",&k,&m,&t); for(i=0;i<m;i++) { scanf("%d %d",&u,&v); creat(u,v); creat(v,u); } for(i=0;i<k;i++) { for(p=head[i];p!=NULL;p=p->next) { for(q=p->next;q!=NULL;q=q->next) { if(p->num>q->num) { jh=p->num; p->num=q->num; q->num=jh; } } } } bfs(t,k); printf("\n"); } return 0; }
相关文章推荐
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历 oj
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 暑假集训 8.15 数据结构实验之图论二:基于邻接表的广度优先搜索遍历 sdutoj2142
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历---2142
- SDUT 2142 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验图论:基于邻接矩阵/邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- SDUT OJ数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历
- sdut 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- SDUT 2141 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- sdutacm-数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历