标签:
}
(8)队列的大小 函数为:size()返回队列的当前元素的个数
代码:
#include<stdio.h> #include<string.h> #include<iostream> #include<queue> using namespace std; int sta[110000]; int map[110000][3]; int ans[110000]; int main() { int m; int n,s; int i,j,k; int now; queue<int>q;//定义int型队列q scanf("%d",&m); while(m--) { scanf("%d%d",&n,&s); q.push(s);//将s入队 for(i=1;i<n;i++) { map[i][0]=1; scanf("%d%d",&map[i][1],&map[i][2]); } memset(ans,0,sizeof(ans)); ans[s]=-1; while(!q.empty())//q.empty()判断是否队空,空则返回1,不空则返回0 { now=q.front();//取队首数据 q.pop();//出队 for(i=1;i<n;i++) { if(map[i][0]&&map[i][1]==now) { q.push(map[i][2]); ans[map[i][2]]=now; map[i][0]=0; } else if(map[i][0]&&map[i][2]==now) { q.push(map[i][1]); ans[map[i][1]]=now; map[i][0]=0; } } } for(i=1;i<=n;i++) { printf("%d",ans[i]); if(i!=n) printf(" "); else printf("\n"); } } return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/wangluoershixiong/article/details/47044929