@@ -43,35 +43,35 @@ int main() {
43
43
std::cout << " Karate adjacency list:\n " ;
44
44
std::cout << " size = " << G.size () << std::endl;
45
45
for (size_t uid = 0 ; uid < G.size (); ++uid) {
46
- std::cout << std::setw (3 ) << uid << " :" ;
47
- for (auto && vid : G[uid]) {
48
- std::cout << " " << vid;
49
- }
50
- std::cout << std::endl;
46
+ std::cout << std::setw (3 ) << uid << " :" ;
47
+ for (auto && vid : G[uid]) {
48
+ std::cout << " " << vid;
49
+ }
50
+ std::cout << std::endl;
51
51
}
52
52
53
53
std::vector<std::list<std::tuple<size_t >>> H (34 );
54
54
push_back_plain_fill (karate_index_edge_list, H, false , 0 );
55
55
std::cout << " \n Karate (edge_list plain fill):\n " ;
56
56
std::cout << " size = " << H.size () << std::endl;
57
57
for (size_t uid = 0 ; uid < H.size (); ++uid) {
58
- std::cout << std::setw (3 ) << uid << " :" ;
59
- for (auto && [vid] : H[uid]) {
60
- std::cout << " " << vid;
61
- }
62
- std::cout << std::endl;
58
+ std::cout << std::setw (3 ) << uid << " :" ;
59
+ for (auto && [vid] : H[uid]) {
60
+ std::cout << " " << vid;
61
+ }
62
+ std::cout << std::endl;
63
63
}
64
64
65
65
66
66
push_back_fill (karate_index_edge_list, H, false , 0 );
67
67
std::cout << " \n Karate (edge_list fill...adding more):\n " ;
68
68
std::cout << " size = " << H.size () << std::endl;
69
69
for (size_t uid = 0 ; uid < H.size (); ++uid) {
70
- std::cout << std::setw (3 ) << uid << " :" ;
71
- for (auto && [vid] : H[uid]) {
72
- std::cout << " " << vid;
73
- }
74
- std::cout << std::endl;
70
+ std::cout << std::setw (3 ) << uid << " :" ;
71
+ for (auto && [vid] : H[uid]) {
72
+ std::cout << " " << vid;
73
+ }
74
+ std::cout << std::endl;
75
75
}
76
76
77
77
// ----------------------------------------------------------------------------
@@ -83,57 +83,57 @@ int main() {
83
83
std::cout << " \n OSPF plain graph:\n " ;
84
84
std::cout << " size = " << a.size () << std::endl;
85
85
for (size_t uid = 0 ; uid < a.size (); ++uid) {
86
- std::cout << std::setw (3 ) << ospf_vertices[uid] << " :" ;
87
- for (auto && vid : a[uid]) {
88
- std::cout << " " << ospf_vertices[vid];
89
- }
90
- std::cout << std::endl;
86
+ std::cout << std::setw (3 ) << ospf_vertices[uid] << " :" ;
87
+ for (auto && vid : a[uid]) {
88
+ std::cout << " " << ospf_vertices[vid];
89
+ }
90
+ std::cout << std::endl;
91
91
}
92
92
93
93
auto b = make_property_graph (ospf_vertices, ospf_edges);
94
94
std::cout << " \n OSPF property graph:\n " ;
95
95
std::cout << " size = " << b.size () << std::endl;
96
96
for (size_t uid = 0 ; uid < b.size (); ++uid) {
97
- std::cout << std::setw (3 ) << ospf_vertices[uid] << " :" ;
98
- for (auto && [vid, val] : b[uid]) {
99
- std::cout << " " << ospf_vertices[vid] << " :" << val;
100
- }
101
- std::cout << std::endl;
97
+ std::cout << std::setw (3 ) << ospf_vertices[uid] << " :" ;
98
+ for (auto && [vid, val] : b[uid]) {
99
+ std::cout << " " << ospf_vertices[vid] << " :" << val;
100
+ }
101
+ std::cout << std::endl;
102
102
}
103
103
104
104
auto c = make_index_graph (ospf_vertices, ospf_edges);
105
105
std::cout << " \n OSPF index graph:\n " ;
106
106
std::cout << " size = " << c.size () << std::endl;
107
107
for (size_t uid = 0 ; uid < c.size (); ++uid) {
108
- std::cout << std::setw (3 ) << ospf_vertices[uid] << " :" ;
109
- for (auto && [vid, val] : c[uid]) {
110
- std::cout << " " << ospf_vertices[vid] << " :" << std::get<2 >(ospf_edges[val]);
111
- }
112
- std::cout << std::endl;
108
+ std::cout << std::setw (3 ) << ospf_vertices[uid] << " :" ;
109
+ for (auto && [vid, val] : c[uid]) {
110
+ std::cout << " " << ospf_vertices[vid] << " :" << std::get<2 >(ospf_edges[val]);
111
+ }
112
+ std::cout << std::endl;
113
113
}
114
114
115
115
auto d = make_plain_graph<decltype (ospf_vertices), decltype (ospf_edges), std::vector<std::list<size_t >>>(
116
116
ospf_vertices, ospf_edges, true );
117
117
std::cout << " \n OSPF plain graph (vector of lists):\n " ;
118
118
std::cout << " size = " << d.size () << std::endl;
119
119
for (size_t uid = 0 ; uid < d.size (); ++uid) {
120
- std::cout << std::setw (3 ) << ospf_vertices[uid] << " :" ;
121
- for (auto && vid : d[uid]) {
122
- std::cout << " " << ospf_vertices[vid];
123
- }
124
- std::cout << std::endl;
120
+ std::cout << std::setw (3 ) << ospf_vertices[uid] << " :" ;
121
+ for (auto && vid : d[uid]) {
122
+ std::cout << " " << ospf_vertices[vid];
123
+ }
124
+ std::cout << std::endl;
125
125
}
126
126
127
127
auto e = make_index_graph<decltype (ospf_vertices), decltype (ospf_edges),
128
128
std::vector<std::vector<std::tuple<size_t , size_t >>>>(ospf_vertices, ospf_edges, true );
129
129
std::cout << " \n OSPF index graph (vector of vector of tuples):\n " ;
130
130
std::cout << " size = " << e.size () << std::endl;
131
131
for (size_t uid = 0 ; uid < e.size (); ++uid) {
132
- std::cout << std::setw (3 ) << ospf_vertices[uid] << " :" ;
133
- for (auto && [vid, val] : e[uid]) {
134
- std::cout << " " << ospf_vertices[vid] << " :" << std::get<2 >(ospf_edges[val]);
135
- }
136
- std::cout << std::endl;
132
+ std::cout << std::setw (3 ) << ospf_vertices[uid] << " :" ;
133
+ for (auto && [vid, val] : e[uid]) {
134
+ std::cout << " " << ospf_vertices[vid] << " :" << std::get<2 >(ospf_edges[val]);
135
+ }
136
+ std::cout << std::endl;
137
137
}
138
138
139
139
// ----------------------------------------------------------------------------
@@ -144,19 +144,19 @@ int main() {
144
144
std::cout << " \n Movies-actors plain bipartite graphs\n " ;
145
145
std::cout << " index 0: " << f.size () << " ==" << h.size () << std::endl;
146
146
for (size_t uid = 0 ; uid < f.size (); ++uid) {
147
- std::cout << std::setw (20 ) << movies[uid] << " : |" ;
148
- for (auto && vid : f[uid]) {
149
- std::cout << actors[vid] << " |" ;
150
- }
151
- std::cout << std::endl;
147
+ std::cout << std::setw (20 ) << movies[uid] << " : |" ;
148
+ for (auto && vid : f[uid]) {
149
+ std::cout << actors[vid] << " |" ;
150
+ }
151
+ std::cout << std::endl;
152
152
}
153
153
std::cout << " index 1: " << g.size () << " ==" << i.size () << std::endl;
154
154
for (size_t uid = 0 ; uid < g.size (); ++uid) {
155
- std::cout << std::setw (20 ) << actors[uid] << " : |" ;
156
- for (auto && vid : g[uid]) {
157
- std::cout << movies[vid] << " |" ;
158
- }
159
- std::cout << std::endl;
155
+ std::cout << std::setw (20 ) << actors[uid] << " : |" ;
156
+ for (auto && vid : g[uid]) {
157
+ std::cout << movies[vid] << " |" ;
158
+ }
159
+ std::cout << std::endl;
160
160
}
161
161
162
162
auto [j, k] = make_plain_bipartite_graphs<decltype (movies), decltype (actors), decltype (movies_actors),
@@ -168,19 +168,19 @@ int main() {
168
168
std::cout << " \n Movies-actors plain bipartite graphs (vector of lists)\n " ;
169
169
std::cout << " index 0: " << j.size () << " ==" << l.size () << std::endl;
170
170
for (size_t uid = 0 ; uid < j.size (); ++uid) {
171
- std::cout << std::setw (20 ) << movies[uid] << " : |" ;
172
- for (auto && vid : j[uid]) {
173
- std::cout << actors[vid] << " |" ;
174
- }
175
- std::cout << std::endl;
171
+ std::cout << std::setw (20 ) << movies[uid] << " : |" ;
172
+ for (auto && vid : j[uid]) {
173
+ std::cout << actors[vid] << " |" ;
174
+ }
175
+ std::cout << std::endl;
176
176
}
177
177
std::cout << " index 1: " << k.size () << " ==" << m.size () << std::endl;
178
178
for (size_t uid = 0 ; uid < k.size (); ++uid) {
179
- std::cout << std::setw (20 ) << actors[uid] << " : |" ;
180
- for (auto && vid : k[uid]) {
181
- std::cout << movies[vid] << " |" ;
182
- }
183
- std::cout << std::endl;
179
+ std::cout << std::setw (20 ) << actors[uid] << " : |" ;
180
+ for (auto && vid : k[uid]) {
181
+ std::cout << movies[vid] << " |" ;
182
+ }
183
+ std::cout << std::endl;
184
184
}
185
185
186
186
// ----------------------------------------------------------------------------
@@ -197,16 +197,14 @@ int main() {
197
197
std::cout << " \n Spice property graph (using edges+values)\n " ;
198
198
std::cout << " Size: " << s.size () << std::endl;
199
199
for (size_t uid = 0 ; uid < s.size (); ++uid) {
200
- std::cout << std::setw (4 ) << spice_vertices[uid] << " : |" ;
201
- for (auto && [vid, comp, val] : s[uid]) {
202
- std::cout << std::setw (3 ) << spice_vertices[vid] << " :" << comp << " /" << val << " |" ;
203
- }
204
- std::cout << std::endl;
200
+ std::cout << std::setw (4 ) << spice_vertices[uid] << " : |" ;
201
+ for (auto && [vid, comp, val] : s[uid]) {
202
+ std::cout << std::setw (3 ) << spice_vertices[vid] << " :" << comp << " /" << val << " |" ;
203
+ }
204
+ std::cout << std::endl;
205
205
}
206
206
207
207
208
-
209
-
210
208
// bfs_edge_range(n, 1);
211
209
graph::views::edges_breadth_first_search (n, 1 );
212
210
0 commit comments