在这里存一发,邻接表的模板:
#include <stdio.h>
#include <string.h>
#include <string>
#include <iostream>
#include <stack>
#include <queue>
#include <vector>
#include <algorithm>
#define mem(a,b) memset(a,b,sizeof(a))
using namespace std;
const int inf=1<<29;
int main()
{
int n,m,i,k;
//存储邻接表
int u[6],v[6],w[6];
int first[5],next[5];
scanf("%d%d",&n,&m);
for(int i=1; i<=n; i++)
first[i]=-1;
for(i=1; i<=m; i++)
{
scanf("%d%d%d",&u[i],&v[i],&w[i]);
next[i]=first[u[i]];
first[u[i]]=i;
}
//遍历邻接表
for(int i=1; i<=n; i++)
{
k=first[i];
while(k!=-1)
{
printf("u[%d]=%d,v[%d]=%d,w[%d]=%d\n",k,u[k],k,v[k],k,w[k]);
k=next[k];
}
}
return 0;
}
其中,n代表顶点数,m代表边数,给一组样例
4 5
1 4 9
4 3 8
1 2 5
2 4 6
1 3 7
\