Edge *BiGraph::getEdge(unsigned int i)
{  
		if (i >= edge.size()||i<0||getEdgeSize()==0) 
	     return NULL; 
		return &edge.at(i);
	
};
Exemple #2
0
int Graph::rmEdge(Edge const &e) {
    int epos = getPos(e);
    if(epos < getEdgeSize()) {
        vector<Edge *>::iterator iv = _edgeList.begin() + epos;
        Edge *tmp = *iv;
        Vertex *v = tmp->getVertex();
        Vertex *w = tmp->getOther(*v);
        v->rmAdjEdge(*tmp);
        w->rmAdjEdge(*tmp);
        _edgeList.erase(iv);
        delete tmp;
    }
    return epos;
}
Exemple #3
0
void Vertex::print()
{
	std::cout << "id: \t" << id << "; degree: \t" << getEdgeSize() << "; popularity: \t" << popularity;
	std::cout << std::endl;
}