void KCoreGraph::remove_vertex(const int idvert) { assert(neighbourhoods.at(idvert) != NULL); /* Vertex to be removed */ IntStack *vn = neighbourhoods.at(idvert); /* Remove the edges between vn and its neighbors */ int val; while (!vn->empty()) { val = vn->head(); neighbourhoods.at(val)->remove(idvert); if (((int)(neighbourhoods.at(val)->size)) < k) { if (!tbr->contain(val)) tbr->add(val); } vn->remove(val); } /* Remove vn */ neighbourhoods.at(idvert) = NULL; delete(vn); };