从图中删除节点及其所有边

时间:2016-06-09 15:39:15

标签: c++ graph

有人可以解释一下哪些输入是正确的,使删除功能工作,并解释我原因。

void Graph::remove(Node& rNode)
    {

        for (std::list<Edge*>::iterator it = rNode.getOutEdges().begin(); it != rNode.getOutEdges().end(); it++) {
            remove(*it); //thats not working
        }
        m_nodes.remove(&rNode);
        delete &rNode;
    }

    void Graph::remove(Edge& rEdge)
    std::list<Edge*>& getOutEdges() { return m_outgoingEdges; }

0 个答案:

没有答案