stack.h
来自「我自己写的vc数据结构的作业」· C头文件 代码 · 共 54 行
H
54 行
#ifndef STACK_H
#define STACK_H
template <class T>
class StackNode
{
public:
T data;
StackNode *next;
};
template <class T>
class Stack
{
public:
Stack():top(0) {}
bool IsEmpty() const { return top==0;}
void Push(const T data);
bool Pop(T *data);
bool Peek(T *data) const;
private:
StackNode<T> *top;
};
template <class T>
void Stack<T>::Push(const T data)
{
StackNode<T> *node = new StackNode<T>();
node->data = data;
node->next = top;
top = node;
}
template <class T>
bool Stack<T>::Peek(T *data) const
{
if(IsEmpty()) return false;
*data = top->data;
return true;
}
template <class T>
bool Stack<T>::Pop(T *data)
{
if(IsEmpty()) return false;
*data = top->data;
StackNode<T> *node = top;
top = top->next;
delete(node);
return true;
}
#endif//STACK_H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?