动态内存+BFS

时间:2021-02-04 12:05:06
【文件属性】:

文件名称:动态内存+BFS

文件大小:12KB

文件格式:DOCX

更新时间:2021-02-04 12:05:06

动态内存+BFS

动态内存+BFS #include #include #include #include using namespace std; void BFS(list *the_a,int the_N,int the_S,int *the_b){ int *m=new int[the_N]; for(int k1=0;k1 qu; qu.push(the_S-1); while(!qu.empty()){ list::iterator iter; for(iter=the_a[qu.front()].begin();iter!=the_a[qu.front()].end();iter++){ if(m[*iter-1]==0){ qu.push(*iter-1);m[*iter-1]=1;the_b[*iter-1]=qu.front(); } } qu.pop(); } delete []m; } int main(){ int m; cin>>m; while(m--){ int N,S; cin>>N>>S; list *a=new list[N]; int *b=new int[N]; b[S-1]=-2; int v1,v2; for(int i=0;i>v1>>v2; a[v1-1].push_back(v2); a[v2-1].push_back(v1); } BFS(a,N,S,b); for(int j=0;j


网友评论