静态邻接表
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct node
{
int y, v, next;
}T[1000];
int size;
int adj[1000];
void add_edge(int i, int j, int v)
{
T[size].v = v;
T[size].y = j;
T[size].next = adj[i];
adj[i] = size++;
}
int main( )
{
int N, M, i, j, a, b, c;
while (scanf("%d%d", &N, &M) != EOF)
{
size = 0;
for (i = 0; i < 1000; i++)
adj[i] = -1;
for(i = 1; i <= M; i++) {
scanf("%d%d%d",&a, &b, &c);
add_edge(a, b, c);
}
for(i = 1; i <= N; i++ ) {
printf("%d: ",i);
for( j = adj[i]; j != -1 ; j = T[j].next)
printf("%d (%d) ",T[j].y,T[j].v);
puts("");
}
}
return 0;
}
posted on 2011-08-05 17:18 more think, more gains 阅读(190) 评论(0) 编辑 收藏 举报