0001 template <typename TV, typename TE> //插入权重为w的边(v,u) 0002 void GraphMatrix<TV,TE>::insert(const TE& edge, int w, Rank v, Rank u) { 0003 if (exists(v, u)) return; //确保该边尚不存在 0004 E[v][u] = new Edge<TE>(edge, w); e++; //创建新边,更新边计数 0005 V[v].outDeg++; V[u].inDeg++; //更新度数 0006 } //insert 0007 0008 template <typename TV, typename TE> //删除顶点v和u之间的联边(exists(v,u)) 0009 TE GraphMatrix<TV,TE>::remove(Rank v, Rank u) { 0010 TE eBak = edge(v, u); delete E[v][u]; E[v][u] = nullptr; e--; //删除边记录,更新边计数 0011 V[v].outDeg--; V[u].inDeg--; return eBak; //更新度数,返回备份的边记录 0012 } //remove