06-图1. List Components (25) 栈和队列
来源:互联网 发布:react 引用js 编辑:程序博客网 时间:2024/05/29 08:54
dfs和bfs综合利用,栈和队列也是综合利用,比较考验编程基本功,主要是自己交一次就对了,好高兴。
#include<stdio.h>#include<algorithm>#include<string.h>#include<queue>#include<stack>using namespace std;int gra[15][15],vis[15],ans[15],n;queue<int>q;stack<int>s;int bfs(int st,int cnt){ int i,j,t; while(!q.empty()) q.pop(); q.push(st); while(!q.empty()) { t=q.front(); q.pop(); for(i=0; i<n; i++) { if(gra[t][i]==1&&vis[i]==0) { ans[cnt]=i; cnt++; q.push(i); vis[i]=1; } } } return cnt;}int dfs(int st,int cnt){ int i,t,flag; while(!s.empty()) s.pop(); s.push(st); while(!s.empty()) { t=s.top(); flag=0; for(i=0; i<n; i++) { if(gra[t][i]==1&&vis[i]==0) { ans[cnt]=i; cnt++; s.push(i); vis[i]=1; flag=1; break; } } if(!flag) s.pop(); } return cnt;}int main(){ int i,k,a,b,cnt,j; while(~scanf("%d%d",&n,&k)) { memset(gra,0,sizeof(gra)); for(i=0; i<k; i++) { scanf("%d%d",&a,&b); gra[a][b]=gra[b][a]=1; } memset(vis,0,sizeof(vis)); for(i=0; i<n; i++) { if(!vis[i]) { vis[i]=1; ans[0]=i; cnt=dfs(i,1); printf("{ "); for(j=0; j<cnt; j++) { printf("%d ",ans[j]); } printf("}\n"); } } memset(vis,0,sizeof(vis)); for(i=0; i<n; i++) { if(!vis[i]) { vis[i]=1; ans[0]=i; cnt=bfs(i,1); printf("{ "); for(j=0; j<cnt; j++) { printf("%d ",ans[j]); } printf("}\n"); } } } return 0;}
0 0
- 06-图1. List Components (25) 栈和队列
- 06-图1. List Components (25)
- 06-图1. List Components
- 06-图1. List Components (25) (邻接表实现)
- 06-图1. List Components (25) (邻接矩阵实现)
- 05-图1. List Components (25)
- 05-图1. List Components (25)
- 05-图1. List Components (25)
- 05-图1. List Components (25)
- PAT 数据结构 05-图1. List Components (25) 深度搜索DFS和广度搜索BFS
- 05-1. List Components (25)图的基本遍历
- PAT:05-1. List Components (25),Go语言解答
- List Components
- PAT--List Components (25)--BFS,DFS经典
- PTA 5-1 List Components (25分)
- [Python] 用list模拟栈和队列
- c编写List Components
- 集合_用List实现栈和队列
- 如何去除点击文字、图片链接时出现的虚线框
- android-发送自定义广播
- 分布式数据库
- 高精度计算-大整数乘法
- 关于自定义控件
- 06-图1. List Components (25) 栈和队列
- 全屏切换_页面
- HDU2203 亲和串 KMP
- 选择,冒泡排序
- tableview header不滚动
- STM32 8位IO的操作
- Generate mp4 video with image files using Jcodec in Android
- ECSHOP 连接字段
- 自动验证