用list实现stack
来源:互联网 发布:linux命名规范 编辑:程序博客网 时间:2024/04/29 05:55
stack.h
typedef struct _tagNode
...{
int _nData;
_tagNode* _pNext;
} NODE,*LPNODE;
class CStack
...{
public:
CStack();
virtual ~CStack();
public:
bool Pop(int& nData);
bool Push(int nData);
int Size() const;
protected:
LPNODE m_pTop;
int m_nSize;
};
...{
int _nData;
_tagNode* _pNext;
} NODE,*LPNODE;
class CStack
...{
public:
CStack();
virtual ~CStack();
public:
bool Pop(int& nData);
bool Push(int nData);
int Size() const;
protected:
LPNODE m_pTop;
int m_nSize;
};
stack.cpp
CStack::CStack()
...{
m_pTop = NULL;
m_nSize = 0;
}
CStack::~CStack()
...{
int nData = 0;
while(Pop(nData));
}
bool CStack::Push(int nData)
...{
LPNODE pNew = new NODE;
if (NULL == pNew)
return false;
pNew->_nData = nData;
pNew->_pNext = m_pTop;
m_pTop = pNew;
m_nSize++;
return true;
}
bool CStack::Pop(int& nData)
...{
if (NULL == m_pTop)
return false;
LPNODE pNextNode = m_pTop->_pNext;
nData = m_pTop->_nData;
delete m_pTop;
m_pTop = pNextNode;
m_nSize--;
return true;
}
int CStack::Size() const
...{
return m_nSize;
}
...{
m_pTop = NULL;
m_nSize = 0;
}
CStack::~CStack()
...{
int nData = 0;
while(Pop(nData));
}
bool CStack::Push(int nData)
...{
LPNODE pNew = new NODE;
if (NULL == pNew)
return false;
pNew->_nData = nData;
pNew->_pNext = m_pTop;
m_pTop = pNew;
m_nSize++;
return true;
}
bool CStack::Pop(int& nData)
...{
if (NULL == m_pTop)
return false;
LPNODE pNextNode = m_pTop->_pNext;
nData = m_pTop->_nData;
delete m_pTop;
m_pTop = pNextNode;
m_nSize--;
return true;
}
int CStack::Size() const
...{
return m_nSize;
}
- 用list实现stack
- 用List实现Stack基本功能
- stack实现queue ; list实现stack
- stack实现queue ; list实现stack
- Go语言用container/list实现栈(Stack)
- 用数组实现Stack
- 用LinkedList实现Stack
- sicily 使用deque实现stack && 使用list实现queue
- Linux 下数据结构的简单实现(list, stack)
- 【C++】利用list和vector实现stack和queue!!!
- 用C++实现Stack堆栈
- 栈 stack 用数组实现
- js用数组实现Stack
- 用Python实现stack数据结构
- 用两个stack实现queue
- KNOW: List, Stack, Queue
- Stack (Linked List)
- Java stack转List
- 阶乘之计算从入门到精通-大数的表示
- 用户界面检查表
- 我看“谷歌拼音输入法之涉嫌词库门”
- IBM Websphere MQ 6 基础培训入门教程
- 正则表达式分析网页,获得中央一电视节目列表(转载)
- 用list实现stack
- 老板不漲工資應該怎麽辦
- java应用程序读取配置文件的方法
- 实践出真知 有关数据库设计经验简介
- 阶乘之计算从入门到精通-近似计算之一
- 在Struts中,从页面取得的值是乱码的问题解决办法!
- 程序员该做的事
- SQL Server中转换数据库的排序规则
- JAVA获取随机数