链式前向星


链式前向星

用数组模拟邻接表vector,本质上和vector是一个东西,只不过是使用数组表示的。

vector使用的是后插入法,

数组模拟时,使用的是前插法。

#include
#include
#include
#include
#include
#include
#include
using namespace std;


struct EDGE
{
	int v, power, nxt;
};
EDGE edge[1004];
int tot = 0, head[1004], n, m;

void add(int u, int v, int w);
int main()
{
	int x, y, z;
	cin >> n >> m;
    //初始化,
	for (int i = 1; i <= n; i++)
		head[i] = -1;
	for (int i = 1; i <= m; i++)
	{
		cin >> x >> y >> z;
		add(x, y, z);
	}
	//对节点x的所有子节点遍历
	for (int i = head[x]; i != -1; i = edge[i].nxt)
	{
		int v = edge[i].v, w = edge[i].power;
	}

	return 0;
}
void add(int u, int v, int w)
{
	edge[tot].v = v;
	edge[tot].power = w;
	edge[tot].nxt = head[u];
	head[u] = tot;
	tot++;
}