template <typename T>
T DynStack<T>::Pop()
{
if (IsEmpty())
{
throw "stack is empty";
}
int _nSize = m_arrValues.GetSize();
T _nTopValue = m_arrValues[_nSize - 1];
m_arrValues.DeleteByIndex(_nSize - 1);
return _nTopValue;
}
查找
template <typename T>
T DynStack<T>::Peek(unsigned int nReverseIndex_) const
{
if (IsEmpty())
{
throw "stack is empty";
}
int _nSize = m_arrValues.GetSize();
if (nReverseIndex_ >= _nSize)
{
throw "the position to peek is not exist";
}
return m_arrValues[_nSize - 1 - nReverseIndex_];
}