public List<Vertex> BSF(Vertex s, bool visit = false) { List<Vertex> visited = new List<Vertex>(); Deque queue = new Deque(new List<Vertex>() { s }); while (queue.Count > 0) { Vertex v = queue.PopBack() as Vertex; if (visited.Contains(v)) continue; visited.Add(v); // visited.add(v) //// if visit: visit(v) List<Vertex> outVertices = OutVertices(v); foreach (var item in outVertices) { queue.PushFront(item); } } return visited; }
public DequeEnumerator(Deque owner) { this.owner = owner; currentNode = owner.front; version = owner.version; }