graph.cpp 532 B

1234567891011121314151617181920212223242526272829303132
  1. #include "graph.h"
  2. Node::Node(const string& aname)
  3. {
  4. name = aname;
  5. }
  6. const string Node::get_name() const
  7. {
  8. return name;
  9. }
  10. void Graph::remove_node(Node* node)
  11. {
  12. nodes.erase(node);
  13. for (set<Node*>::iterator it = nodes.begin(); it != nodes.end(); it++) {
  14. (*it)->remove_neighboor(node);
  15. }
  16. }
  17. void Graph::add_edge(Node* begin, Node* end)
  18. {
  19. if (nodes.find(begin) == nodes.end())
  20. return;
  21. if (nodes.find(end) == nodes.end())
  22. return;
  23. begin->add_neigboor(end);
  24. end->add_neigboor(begin);
  25. }