We next construct a graph with 5 nodes and 9 edges:
//construct graph G2
Graph *G2 = new Graph(DataFloat,DataFloat,
T->radius,T->center,
T->foreground,
T->background,
graph_colors,
T->display,
T->drawable,
T->pixmap,
T->pixmap2,
T->gc);
float node_data2[5];
float edge_data2[8];
for(int i = 0;i<5;++i){
node_data2[i] = 3.0*i;
}
for(int i=0;i<9;++i){
edge_data2[i] = 100.0;
}
Gnode *g2n1 = G2->addNode("Ozymanius",240.0,200.0,&(node_data2[0]));
Gnode *g2n2 = G2->addNode("EadhmonnuaQuinn",320.0,100.0,&(node_data2[1]));
Gnode *g2n3 = G2->addNode("EadhmonnuaGuinn",320.0,200.0,&(node_data2[2]));
Gnode *g2n4 = G2->addNode("Galadriel",320.0,300.0,&(node_data2[3]));
Gnode *g2n5 = G2->addNode("OshGosh",320.0,300.0,&(node_data2[4]));
G2->addEdge(g2n2,g2n1,4.0,&(edge_data2[0]));
G2->addEdge(g2n4,g2n3,5.0,&(edge_data2[1]));
G2->addEdge(g2n5,g2n2,1.0,&(edge_data2[2]));
G2->addEdge(G2->findNode("Ozymanius"),G2->findNode("OshGosh"),
6.0,&(edge_data2[3]));
G2->addEdge(G2->findNode("EadhmonnuaQuinn"),G2->findNode("OshGosh"),
3.0,&(edge_data2[4]));
G2->addEdge(G2->findNode("EadhmonnuaQuinn"),G2->findNode("EadhmonnuaGuinn"),
4.5,&(edge_data2[5]));
G2->addEdge(G2->findNode("EadhmonnuaGuinn"),G2->findNode("OshGosh"),
14.5,&(edge_data2[6]));
G2->addEdge(G2->findNode("EadhmonnuaQuinn"),G2->findNode("Galadriel"),
3.5,&(edge_data2[7]));
G2->addEdge(G2->findNode("EadhmonnuaQuinn"),G2->findNode("Ozymanius"),
14.5,&(edge_data2[8]));
We print out graph G2 using the line
cout << "Graph G2 = " << G2 << endl;
At run-time, this generates the following output:
Graph G2 = Graph:
Nodes:
entering node loop
node 1
OshGosh 12
node 2
Galadriel 9
node 3
EadhmonnuaGuinn 6
node 4
EadhmonnuaQuinn 3
node 5
Ozymanius 100
entering edge loop
Edges:
edge 1
EadhmonnuaQuinn-----(14.5)---> Ozymanius 100
edge 2
EadhmonnuaQuinn-----(3.5)---> Galadriel 100
edge 3
EadhmonnuaGuinn-----(14.5)---> OshGosh 100
edge 4
EadhmonnuaQuinn-----(4.5)---> EadhmonnuaGuinn 100
edge 5
EadhmonnuaQuinn-----(3)---> OshGosh 100
edge 6
Ozymanius-----(6)---> OshGosh 100
edge 7
OshGosh-----(1)---> EadhmonnuaQuinn 100
edge 8
Galadriel-----(5)---> EadhmonnuaGuinn 100
edge 9
EadhmonnuaQuinn-----(4)---> Ozymanius 100
End Graph