1.可以不用排序的
2.写起来爽啊
我贴个我的代码,C++的,比如说n点m边的有向图
#include <cstdio>
const int max_n = 10000,max_m = 200000;
int first[max_n + 10];
struct edge
{
int point,next,length;
void add(int u,int v,int l)
{
point = v;
next = first[u];
length = l;
}
} e[max_m + 10];
int n,m;
int main()
{
scanf("%d%d",&n,&m);
for (int i = 1; i <= m; i++)
{
int u,v,l;
scanf("%d%d%d",&u,&v,&l);
e[i].add(u,v,l);
first[u] = i;
} //这段是读入和加入
for (int i = 1; i <= n; i++)
{
printf("from %d:\n",i);
for (int j = first[i]; j; j = e[j].next)//这就是遍历边了
printf("to %d length = %d\n",e[j].point,e[j].length);
}
}
我这个素抛砖引玉,已过本地编译,求神犇鄙视并贴个更简练的