图的存储模式——链式向前星模板

#include

using namespace std;
int tnt=1;
struct EDGE
{
	int v;
	int next;
	int w;
	EDGE(){};
	EDGE(int v_,int next_,int w_)
	{
		v=v_;
		next=next_;
		w=w_;
	}
};
struct EDGE e[1000];
int head[1000];
void add(int u,int v,int w)
{
	e[tnt]=EDGE(v,head[u],w);
	head[u]=tnt++;
}

void print(int pos)
{
	int i,j;
	for(i=head[pos];i!=-1;i=e[i].next)
	{
		printf("%d ",e[i].w);
	}
	printf("\n");
}
int main()
{
	int n;
	int i,j;
	int from,to,value;
	memset(head,-1,sizeof(head));
	cin>>n;
	for(i=0;i>from>>to>>value;
		add(from,to,value);
	}
	for(i=1;i<=5;i++)
	print(i);
	return 0;
}

7
1 2 5
2 3 4
3 4 7
1 3 2
4 1 9
1 5 8
4 5 2
8 2 5
4
7
2 9

你可能感兴趣的:(图论)