const int SIZE = 1000001;
int head[SIZE],cnt;
//head数组记录头结点,head[u]为u连接的第一个点在edge中存放的下标;cnt为edge计数,无实际意义
struct EDGE{
int to,next,w;
//to为与该点连通的点,next为下一个点
}edge[SIZE];
//初始化前向星,多组数据输入才使用,单组数据不用!
/*void init(){
for(int i=0;i<MAX;++i){
edge[i].to = 0;
edge[i].w = 0;
edge[i].next = 0;
head[i] = 0;
}
cnt=0;
}*/
void addEdge(int u,int v,int w){
edge[++cnt].to = v;
edge[cnt].w = w;
edge[cnt].next = head[u];
head[u] = cnt;
}
//遍历与pos连通的点
for(int i=head[pos];i;i=edge[i].next)
//edge[i].to为与pos连通的点
//edge[i].w为两个点之间的权值
链式前向星
最新推荐文章于 2023-07-29 17:46:16 发布