hello_world.cc File Reference
Detailed Description
This program is intended to be a "Hello World!" program that shows the very basic notions of the LEMON library:
graphs and
maps. Click on the links to read more about these.
#include <iostream>
#include <lemon/list_graph.h>
using namespace lemon;
typedef ListGraph::Node Node;
typedef ListGraph::Edge Edge;
int main()
{
ListGraph graph;
ListGraph::NodeMap<char> char_map(graph);
Node new_node = graph.addNode();
char_map[new_node] = 'H';
Node start_node = new_node;
Node from_node = new_node;
new_node = graph.addNode();
char_map[new_node] = 'e';
graph.addEdge( from_node, new_node );
from_node = new_node;
new_node = graph.addNode();
char_map[new_node] = 'l';
graph.addEdge( from_node, new_node );
from_node = new_node;
new_node = graph.addNode();
char_map[new_node] = 'l';
graph.addEdge( from_node, new_node );
from_node = new_node;
new_node = graph.addNode();
char_map[new_node] = 'o';
graph.addEdge( from_node, new_node );
from_node = new_node;
new_node = graph.addNode();
char_map[new_node] = ' ';
graph.addEdge( from_node, new_node );
from_node = new_node;
new_node = graph.addNode();
char_map[new_node] = 'W';
graph.addEdge( from_node, new_node );
from_node = new_node;
new_node = graph.addNode();
char_map[new_node] = 'o';
graph.addEdge( from_node, new_node );
from_node = new_node;
new_node = graph.addNode();
char_map[new_node] = 'r';
graph.addEdge( from_node, new_node );
from_node = new_node;
new_node = graph.addNode();
char_map[new_node] = 'l';
graph.addEdge( from_node, new_node );
from_node = new_node;
new_node = graph.addNode();
char_map[new_node] = 'd';
graph.addEdge( from_node, new_node );
from_node = new_node;
new_node = graph.addNode();
char_map[new_node] = '\n';
graph.addEdge( from_node, new_node );
Node current_node = start_node;
while( current_node != INVALID )
{
std::cout << char_map[current_node] << std::flush;
ListGraph::OutEdgeIt edge(graph, current_node);
if( edge != INVALID )
current_node = graph.target( edge );
else
current_node = INVALID;
}
return 0;
}
#include <iostream>
#include <lemon/list_graph.h>