邻接表大致是一个由各个点指向其所连接的点的表。但是我们可以不将点指向点,可以将边保存,用点指向边。
然后再用各个边的标号做一个数组,再用这个数组来记录路径。代码大概长这个样子。
(参考大佬的博客,地址如下https://www.cnblogs.com/ECJTUACM-873284962/p/6905416.html
(再附加两张图
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+7;
const int maxe=1e6+7;
struct edge{
int to,nxt,val;
}E[2*maxe];
int head[maxn],tot;
void add(int x,int y,int val){
E[++tot].to=y;E[tot].nxt=head[x];E[tot].val=val;
head[x]=tot;
}
int vis[maxn];
void dfs(int x){
vis[x]=1;
for(int i=head[x];i;i=E[i].nxt){
int y=E[i].to;
if(!vis[y])dfs(y);
}
}
int main()
{
system("pause");
return 0;
}
原文链接: https://www.cnblogs.com/a-night/p/10049283.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/286097
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!