/**
*他山之石
**/
class stackNode
{
double m_dbValue;
stackNode*m_pNext;
stackNode*m_pCurentmin;
};
class stack
{
stackNode*m_pTop;
void push(const double v)
{
stackNode*p=new stackNode();
p.m_dbValue;=v;
p.m_pNext=m_pTop;
if(v<m_pTop.m_pCurentmin.m_dbValue)
{
p.m_pCurentmin=p;
}
else
{
p.m_pCurentmin=m_pTop.m_pCurentmin;
}
m_pTop=p;
}
double pop()
{
stackNode*p=m_pTop;
m_pTop=m_pTop.m_pNext;
double value=p.m_dbValue;
delete p;
return value;
}
double min()
{
return m_pTop.m_pCurentmin.m_dbValue;
}
};