链式前向星模板
2017-08-22 19:11
260 查看
整理一下,按边存储的结构都可以用此存储。
其中edge[i].to表示第i条边的终点,edge[i].next表示与第i条边同起点的下一条边的存储位置,edge[i].w为边权值.
另外还有一个数组head[],它是用来表示以i为起点的第一条边存储的位置,实际上你会发现这里的第一条边存储的位置其实
在以i为起点的所有边的最后输入的那个编号.
head[]数组一般初始化为-1,对于加边的add函数是这样的:
边是反向连接的,head[u]指向u连接的最后一条边的e索引,而nxt指的是e数组中的索引。
#include<cstdio> #include<cstring> #include<algorithm> #include<cstdlib> #include<iostream> #include<cmath> using namespace std; typedef long long ll; const int maxn=1e5+3; struct Edge{ int nxt; int to; int w; }e[maxn]; int head[maxn],cnt; void add_edge(int u,int v,int w){//单向 e[cnt].w=w; e[cnt].to=v; e[cnt].nxt=head[u]; head[u]=cnt++; } int main(){ int u=1; for(int i=head[u];i!=-1;i=e[i].nxt){ } }
相关文章推荐
- 拓扑排序模板--链式前向星
- hdu3879及ISAP模板(链式前向星)
- 单元最短路径算法模板汇总(Dijkstra, BF,SPFA),附链式前向星模板
- POJ2195 Going Home(最小费用最大流模板题)(附用数组建图和用链式前向星建图代码)
- spfa模板(链式前向星,bfs,判环)
- 链式前向星
- 深度理解链式前向星
- 深度理解链式前向星
- idea 链式调用模板
- 最小生成树prim算法之优先队列(链式前向星)
- hdu2647 逆拓扑,链式前向星。
- 浪里个浪 (链式前向星)
- 链式前向星
- 深度理解链式前向星
- -----模板spfa+邻接表,spfa+链式前向星
- ACM_链式前向星
- 深度理解链式前向星
- 链式前向星
- 吝啬的国度_链式前向星
- 【zzuli 1925 信道安全】+ 链式前向星