internal override void UpdateEdgeData(AdjListGraphVertex <T> vertex1, AdjListGraphVertex <T> vertex2, Func <EdgeData, EdgeData> updateFunc) { ListNode node1 = FindEdgeNode(vertex1, vertex2); ListNode node2 = FindEdgeNode(vertex2, vertex1); node1.EdgeData = node2.EdgeData = updateFunc(node1.EdgeData); }
internal override void CreateEdge(AdjListGraphVertex <T> vertex1, AdjListGraphVertex <T> vertex2, double weight) { InsertListNode(List[vertex1.Handle], new ListNode(vertex2), weight); if (!ReferenceEquals(vertex1, vertex2)) { InsertListNode(List[vertex2.Handle], new ListNode(vertex1), weight); } }