public void StackX_Positive() { var stack = new StackX <int>(); Assert.IsTrue(stack.IsEmpty()); stack.Push(1); stack.Push(3); stack.Push(5); stack.Push(7); stack.Push(9); Assert.AreEqual(5, stack.Size()); Assert.AreEqual(9, stack.Peek()); Assert.AreEqual(9, stack.Pop()); Assert.AreEqual(7, stack.Pop()); Assert.AreEqual(3, stack.Size()); Assert.AreEqual(5, stack.Peek()); stack.Push(66); var list = new List <int> { 66, 5, 3, 1 }; int index = 0; foreach (var i in stack) { Assert.AreEqual(list[index++], i); } }
public virtual void Dfs() { _vertexList[0].WasVisited = true; DisplayVertex(0); _theStack.Push(0); while (!_theStack.Empty) { int v = GetAdjUnvisitedVertex(_theStack.Peek()); if (v == -1) { _theStack.Pop(); } else { _vertexList[v].WasVisited = true; DisplayVertex(v); _theStack.Push(v); } } for (int j = 0; j < _nVerts; j++) { _vertexList[j].WasVisited = false; } }