这里写一下邻接表存储和vector法:
/*树的存储*/
#include<bits/stdc++.h>
using namespace std;
//=======邻接表法=======//
struct node
{
int next,to,w;
}m[10000];
int n,tot,h[10000];
void add(int x,int y,int z)
{
m[++tot].to=y;
m[tot].next=h[x];
m[tot].w=z;
h[x]=tot;
}
void print()
{
for(int i=1;i<n;++i)
{
int x,y,z;
cin>>x>>y>>z;
add(x,y,z);
add(y,x,z);
}
}
//=======vector法=======//
vector<int>Q[10000];
vector<int>V[10000];
int n;
void add(int x,int y,int z)
{
Q[x].push_back(y);
V[x].push_back(z);
}
void print()
{
for(int i=1;i<n;++i)
{
int x,y,z;
cin>>x>>y>>z;
add(x,y,z);
add(y,x,z);
}
}