您的位置:首页 > 运维架构

a program a day 24(实现一个push pop min均为O(1)的栈)

2010-10-20 23:57 316 查看
/**

*他山之石

**/

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;

}

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐