什么是链式前向星?
链式前向星就是存储图中的每条边,但是,有几个额外的数组,可以用于在很短时间内查找
具体写法
1数组实现
void add(int a,int b,int c){
v[idx]=b;
w[idx]=c;
nxt[idx]=fst[a];
fst[a]=idx;
idx++;
2vector实现
如果有边权,定义为vector<vector<pair<int,int> > >
没有边权,就去掉pair
for(int i=1;i<=m;i++){
int x,y,z;
cin>>x>>y>>z;
q[x].push_back({y,z});
}
for(int i=1;i<=n;i++){
for(int j=q[i].size()-1;j>=0;j--){
cout<<i<<q[i][j].first<<q[i][j].second;
}
}