
代码实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
using namespace std; struct EdgeNode //边表节点类型 { int to, w; //顶点序号和边长 }; vector<EdgeNode> map[MAX]; int (){ EdgeNode e; int n, m, i, j, k, w; cin >> n >> m; //n个顶点m组数据 for(i = 0; i < m; ++i){ cin >> j >> k >> w; e.to = k; e.w = w; map[j].push_back(e); } //遍历 for(i = 1; i <= n; ++i){ for(vector<EdgeNode>:: iterator k = map[i].begin(); k != map[i].end(); ++k){ EdgeNode t = *k; cout << i << ' ' << t.to << ' ' << t.w << endl; } } system("pause"); return 0; }
|
备注
to:指向子节点
w:边权
n:顶点数
m:数据数
j:父节点
k:子节点
近期评论