给你一个无向图graph,图上有n个点和m条边,现在你需要使用邻接表来存储该图graph 并按格式输出邻接表。
区块链毕设网qklbishe.com为您提供问题的解答
给你一个无向图graph,图上有n个点和m条边,现在你需要使用邻接表来存储该图graph 并按格式输出邻接表。
本题用到了邻接表的数组用法,idx表示已经用过多少个编号,e[idx],储存当前节点,ne[idx]存储下一节点,h表示每个链表的头
#include <bits/stdc++.h> using namespace std; int n,m; const int N=1010; int idx=0; int h[N],e[N],ne[N]; void add(int a,int b){ e[idx]=b; ne[idx]=h[a]; h[a]=idx++; } int main() { cin>>n>>m; memset(h,-1,sizeof h); for(int i=0;i<m;i++){ int a,b; cin>>a>>b; add(a,b); add(b,a); } for(int i=1;i<=n;i++){ cout<<i; if(h[i]==-1) cout<<"->"; for(int j=h[i];j!=-1;j=ne[j]){ cout<<"->";cout<<e[j]; } cout<<endl; } return 0; }
38:16
以上就是关于问题给你一个无向图graph,图上有n个点和m条边,现在你需要使用邻接表来存储该图graph 并按格式输出邻接表。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训