April 2018
Intermediate to advanced
322 pages
6h 57m
English
Again, removing an item in the Stack data type is similar to the RemoveHead() operation in the LinkedList since we can only access the top node. We simply remove the first node and make the m_top variable handle the second node. The implementation of the Pop() operation should be as follows:
template <typename T>void Stack<T>::Pop(){ // Do nothing if Stack is empty if(IsEmpty()) return; // Prepare the current m_top // to remove Node<T> * node = m_top; // The new m_top node will be // the Next pointer of the current m_top node m_top = m_top->Next; // Now it's safe to remove // the first element delete node; // One item is removed m_count--;}
Since the Pop() operation in the Stack data type adapts the