链式前向星
作者:互联网
#include <bits/stdc++.h>
using namespace std;
const int N = 1000;
int to[N], v[N], ne[N], h[N]; //to代表连接的点,v代表边权,ne代表next,h代表head
int idx; //idx即index,表示当前分配的下标
int x, y, w;
//加边(带权的情况)
void add1(int x, int y, int w) { //x-->y,权值为w的边
to[++idx] = y, v[idx] = w; //存数据
ne[idx] = h[x], h[x] = idx; //插入表头
}
//加边(不带权的情况)
void add2(int x, int y) {
to[++idx] = y;
ne[idx] = h[x], h[x] = idx;
}
int main(void) {
ios::sync_with_stdio(false);
cin.tie(0);
memset(h, -1, sizeof h); //初始化,h为-1则代表指向空
//遍历
for (int i = h[x]; ~i; i = ne[i]) {
int y = to[i], w = v[i];
//这里写找到了一条x-->y权值为w的边之后的操作
}
return 0;
}
标签:代表,idx,int,void,权值,ne,链式,前向星 来源: https://www.cnblogs.com/xiezeju/p/14454755.html