剑指offer——面试题21:包含min函数的栈
2016-12-01 20:54
232 查看
template <typename T> void StackWithMin<T>::push(const T& value)
{
// 把新元素添加到辅助栈
m_data.push(value);
// 当新元素比之前的最小元素小时,把新元素插入辅助栈里;
// 否则把之前的最小元素重复插入辅助栈里
if(m_min.size() == 0 || value < m_min.top())
m_min.push(value);
else
m_min.push(m_min.top());
}
template <typename T> void StackWithMin<T>::pop()
{
assert(m_data.size() > 0 && m_min.size() > 0);
m_data.pop();
m_min.pop();
}
template <typename T> const T& StackWithMin<T>::min() const
{
assert(m_data.size() > 0 && m_min.size() > 0);
return m_min.top();
}
相关文章推荐
- 剑指offer——面试题21:包含min函数的栈
- 剑指offer-面试题21:包含min函数的栈
- 《剑指offer》面试题21—包含min函数的栈
- 《剑指Offer》学习笔记--面试题21:包含min函数的栈
- 剑指Offer面试题21(Java版):包含min函数的栈
- 《剑指Offer》面试题21:包含min函数的栈
- 剑指offer面试题21之包含min函数的栈
- 剑指offer-面试题21:包含min函数的栈
- (剑指Offer)面试题21:包含min函数的栈
- 剑指offer 面试题21 包含min函数的栈 Java实现
- 《剑指offer》(面试题21):包含min函数的栈
- 剑指offer之面试题21:包含min函数的栈
- 面试题21 包含min函数的栈
- 剑指offer--面试题21:包含min函数的栈
- 【剑指offer】面试题21:包含min函数的栈
- 面试题21:包含min函数的栈
- 剑指Offer面试题20顺时针打印矩阵,面试题21包含min函数的栈
- 面试题21:包含min函数的栈
- [剑指offer][面试题21]包含min函数的栈
- Java - 剑指offer_面试题21_包含min函数的栈