private void prime(int index) { IVector <int> vertexSet = Vector <int> .VectorFactory(); vertexSet.Insert(index); IVector <int> vertexCutSet = CaluCutSet(index); Status(index, VStatus.Visited); while (true) { Tuple <int, int> edge = MimimumEdge(vertexSet, vertexCutSet); if (edge == null) { break; } vertexSet.Insert(edge.Item2); vertexCutSet.Remove(vertexCutSet.Find(edge.Item2)); Status(edge.Item2, VStatus.Visited); if (Exist(edge.Item1, edge.Item2)) { Status(edge.Item1, edge.Item2, EStatus.Tree); } else { Status(edge.Item2, edge.Item1, EStatus.Tree); } } }
public void TestFind() { _vector.Insert(new Coordinate() { X = 0, Y = 0 }); Assert.AreEqual(_vector.Find(new Coordinate() { X = 0, Y = 0 }), 0); }
public override int Find(T other) { return(_vector.Find(other)); }