包含min函数的栈

原创 2015年07月08日 21:03:15


代码如下:m_data是数据栈,而m_min是辅助栈

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<tempname T>const T& StackWithMin<T>::min() const
{
assert(m_data.size() > 0 && m_min.size() > 0);
return m_min.top();
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

剑指Offer之面试题21:包含min函数的栈

所有代码均通过G++编译器测试,仅为练手纪录。 //面试题21:包含min函数的栈 //题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。 //     ...

面试题---设计包含min函数的栈

定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。 要求函数min、push以及pop的时间复杂度都是O(1)。 结合链表一起做。 首先我做插入以下数字:10,7,3,3,...

包含min函数的栈 java实现

这里着重讲java实现需要注意的细节。 本文主要关注以下: EmptyStackException异常是RuntimeException的一种 栈为空时如何处理异常,需要捕获异常吗? 泛型如何比较大小...

【老鸟学算法】包含 min函数的栈设计——java实现

要求: 1. 定义栈的数据结构,要求添加一个 min函数,能够得到栈的最小元素。 2. 要求函数 min、push 以及 pop 的时间复杂度都是 O(1)。 这是考验“栈”数据结构设计。众...

包含min函数的栈

题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 编程思路 准备两个栈,一个是数据栈,一个是辅助栈,首先往数据栈中压入数字,然后每次把压入数据栈的数字...

包含min函数的栈

题目 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数.在该栈中,调用min,push及pop的时间复杂度都是O(1).思路   使用两个栈,一个数据栈用来存...

第2题:设计包含min函数的栈

欢迎转载,转载请务必注明出处:http://blog.csdn.net/alading2009/article/details/44620511第2题:定义栈的数据结构,要求添加一个min函数,能够得...

设计包含min函数的栈

设计包含min函数的栈。 定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。 要求函数min、push以及pop的时间复杂度都是O(1)。 解析:push和pop都可以做到时间...

1522包含min函数的栈

题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行...

包含min函数的栈

#include #include using namespace std; template class StackWithMin { public: StackWithMin(void){...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)