您的位置:首页 > 编程语言

邻接表代码

2015-08-30 21:33 381 查看
#include<stdio.h>
#include<string.h>
#include<math.h>
#define N 110

using namespace std;

int head
, cnt;

void Init()
{
memset(head, -1, sizeof(head));
cnt = 0;//表示边数
}

struct Edge
{
int u, v, flow, next;
}edge[N * N];

void Add(int u, int v, int flow)
{
edge[cnt].u = u;
edge[cnt].v = v;
edge[cnt].flow = flow;
edge[cnt].next = head[u];//edge[cnt].next表示第cnt条边中的u上一次出现的位置(即上一次出现在第几条边)
head[u] = cnt++;//head[u]表示u现在所在的位置(即u在第几条边)
}

int main()
{
int u, v, flow, m;
while(~scanf("%d", &m))
{
while(m--)
{
scanf("%d%d%%d", &u, &v, &flow);
Add(u, v, flow);
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: